我正在使用 VB.Net 的网站上进行重新设计。系统会从第三方上传的 Excel 97-2003 文件中获取相当多的数据,然后上传到 SQL 2008。问题来了,上传的文件扩展名为 .P。我使用下面的代码来尝试抓取数据并上传到数据库。
Dim xlApp As New Excel.Application
xlApp.Workbooks.Open(Filename:=Server.MapPath("~/ExtractFiles/10-31-13.P"))
xlApp.ActiveWorkbook.SaveAs(Filename:=Server.MapPath("~/ExtractFiles/10-31-13.xls"), FileFormat:=51)
If Not xlApp Is Nothing Then
xlApp.ActiveWorkbook.Close()
xlApp.Quit()
xlApp = Nothing
End If
PrmPathExcelFile = Server.MapPath("~/ExtractFiles/10-31-13.P")
plmExcelCon = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + PrmPathExcelFile + ";Extended Properties=""Excel 12.0;HDR=YES;IMEX=1""")
cmdLoadExcel = New System.Data.OleDb.OleDbDataAdapter("select * from [10-31-13]", plmExcelCon)
Dim dt As System.Data.DataTable
dt = New System.Data.DataTable
cmdLoadExcel.Fill(dt)
plmExcelCon.Close()
当代码到达 cmdLoadExcel.Fill(dt) 行时,我只收到一条错误消息,提示“外部表不是预期的格式。”。我假设这与我试图更改文件扩展名的事实有关。但是,我似乎无法打开扩展名为 .P 的文件。
有没有我在这里忽略的方法?或者在使用具有自定义扩展名的文件时这是不可能的。