如何解决在线从Sharepoint上的Excel文件中读取数据,并将其批量插入sql-Visual Basic
我有一个现有代码,可从共享驱动器中读取excel文件并将数据导入sql(Windows应用-Visual Basic)。现在,Excel文件已移至 Sharepoint Online 位置-使用OleDbConnection和sqlBulkcopy的现有代码不起作用。即使设置了对Sharepoint的授权访问权限,我也完全无法连接到打开的excel文件。 在研究了替代方法后-我能够使用Microsoft.Office.Interop.Excel在Sharepoint上获取excel文件的工作表名称,但是仍然卡住了将每张工作表中的数据插入sql的过程,因为它使用了OleDbConnection来优秀。 excel文件很大,有多个页面,因此最好使用批量插入...请让我知道如何实现?
批量插入的原始代码(在ExcelConnection1.Open()上获取错误-“ IErrorInfo.GetDescription失败,并显示E_FAIL(0x80004005)。”)请注意,filNm-实际上是URL“ https:// Actual Sharepoint path / filename” .xlsx“
Dim ExcelStringNm As String = "Provider=Microsoft.ACE.OLEDB.16.0;" &
"Data Source=" & filNm & ";Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"""
Dim ExcelConnection1 As New OleDb.OleDbConnection(ExcelStringNm)
For Cnt = 1 To SheetCnt
Select Case Cnt
Case 1 : SheetName = SheetName1
Case 2 : SheetName = SheetName2
Case 3 : SheetName = SheetName3
Case 4 : SheetName = SheetName4
Case 5 : SheetName = SheetName5
End Select
expr = "SELECT * FROM [" + SheetName + "]" + ";"
Dim objCmdselect As OleDbCommand = New OleDbCommand(expr,ExcelConnection1)
ExcelConnection1.open()
sqlconn.ConnectionString = ConnString
sqlconn.open()
Using bulkcopy As sqlBulkcopy = New sqlBulkcopy(sqlconn)
bulkcopy.DestinationTableName = TableNamesql
Try
objDR = objCmdselect.ExecuteReader
bulkcopy.WritetoServer(objDR)
objDR.Close()
sqlconn.Close()
ExcelConnection1.Close()
Catch ex As Exception
ExcelConnection1.Close()
sqlconn.Close()
End Try
End Using
Next
将xlWorkSheet设置为Microsoft.Office.Interop.Excel.Worksheet Dim xlApp作为新的Microsoft.Office.Interop.Excel.Application
xlApp.Workbooks.Open(filNm,True)
Dim strSheetName As New List(Of String)
For Each xlWorkSheet In xlApp.Sheets
strSheetName.Add(xlWorkSheet.Name)
Next
如何将xlWorksheet的每张表中的数据插入到sql中?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。