当我用EPPlus dll导出CSV文件(包装在Powershell模块PSExport中)后,生成的XLSX文件在excel中工作正常;但是尝试将其导入SQL时会产生以下问题:
Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
我在excel中打开文件并保存后,此问题就解决了。
我尝试使用'HDR = YES; IMEX = 1'和所有变体来编辑OPENROWSET字符串;我尝试将ACE.OLEDB版本升级到16;我尝试了一个简单的XLSX文件
我正在使用的OPENROWSET命令是:
select * from openrowset ('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=E:\SQLJobs\Incidents.xlsx', 'select [Incr_nr] from [Sheet1$]')
要创建XLSX文件,请执行以下操作:
Import-Module PSExcel
$CSV = import-csv C:\test.csv -delimiter ";"
$CSV | Export-XLSX -path "A:\Scripts\TopDesk\dwh_backroom_Incident_Export.xlsx" -WorksheetName Sheet1 -ReplaceSheet -Debug
$ CSV是在Powershell中导入的csv文件