В настоящее время я могу импортировать файл Excel в мое представление данных с помощью кнопки.Я перепробовал много разных кодов, найденных онлайн для импорта, и наконец нашел тот, который работает, с небольшими штрихами.Самая большая проблема, с которой я сталкиваюсь, это «чтение» содержимого ячеек в файле Excel, и если есть определенный шаг проверки, который мне не нужен, программа не импортирует файл.
например, в столбце 1, если число меньше 0, импорт следует отменить.
или другой пример, если в столбце (который должен быть только цифрами) есть запись буквы, импорт следует отменить.
На других языках я могу изобразить это как простые операторы If, но я новичок в VB.
если бы кто-то мог направить меня в правильном направлении, это было бы очень признательно
Главная страница, которую я использовал, была; Импорт данных Excel в Datagridview с использованием VB.Net
мой текущий код;
Dim dbconnect As OleDb.OleDbConnection
Dim dta As OleDb.OleDbDataAdapter
Dim dts As DataSet
Dim excel As String
Dim OpenFileDialog As New OpenFileDialog
OpenFileDialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
OpenFileDialog.Filter = "All Files (*.*)|*.*|Excel files (*.xlsx)|*.xlsx|CSV Files (*.csv)|*.csv|XLS Files (*.xls)|*xls"
If (OpenFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
Dim file As New FileInfo(OpenFileDialog.FileName)
Dim FileName As String = OpenFileDialog.FileName
' Dim selectedrowcount As Integer = DataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected)
excel = file.FullName
dbconnect = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excel + ";Extended Properties='Excel 12.0;HDR=NO;IMEX=1'")
dta = New OleDbDataAdapter("select * from [Feuil1$]", dbconnect)
' dta = New OleDbDataAdapter("select * from [Sheet1$]", dbconnect)
dts = New DataSet
dta.Fill(dts, "[Feuil1$]")
' dta.Fill(dts, "[Sheet1$]")
DataGridView1.DataSource = dts
DataGridView1.DataMember = "[Feuil1$]"
dbconnect.Close()
DataGridView1.DefaultCellStyle.Format = "N2"
DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
' MsgBox("Data has been imported")
End If
End Sub