我使用以下代码将数据导出到excel文件。当excel文件为空时,这工作正常。但是当我将字段更新为null时,插入查询会成功执行,但excel显示为空白。
update openrowset('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=E:\..\.xlsx;',
'select Column1,Column2,Column3 FROM [Sheet1$]')
set Column1=null,Column2=null,Column3=null
insert into OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=E:\..\.xlsx;', 'SELECT * FROM [Sheet1$]')
select Column1,Column2,Column3 from table_Name
我希望在写入文件之前先将文件设置为空白。
请帮助。
答案 0 :(得分:0)
根据我在网上看到的内容, openrowset 是只读的,因此您需要使用 OPENDATESOURCE 。尝试这样的事情。
UPDATE OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0','Data Source=E:\...\YourExcelFile.xlsx;;Extended Properties=Excel 12.0')...[Sheet1$]
SET Column1=null,Column2=null,Column3=null
INSERT INTO OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0','Data Source=E:\...\YourExcelFile.xlsx;;Extended Properties=Excel 12.0')...[Sheet1$]
SELECT Column1,Column2,Column3 from table_Name