我正在尝试将 Excel 文件导入到 SQL Server 数据库。
问题是 SQL Server 无法识别 Excel 文件,因为第一行包含标题而不是表列标题。表标题位于第 3 行。
Excel 文件 (.xlsx) 是从 ITSM 工具中提取的报告(每 30 分钟生成一次),保存在文件夹路径上。
根据我从论坛上读到的内容,可以实现宏,但需要手动打开文件才能生效。
有没有办法在不进行任何手动交互的情况下删除 Excel 中的 2 行?我大致了解如何自动导入,但我希望 Excel 文件采用正确的格式。
PS。我正在使用 SQL Server 2012 Express谢谢!
其他来源:
https://www.mrexcel.com/forum/excel-questions/511902-delete-rows-without-open-files.html
最佳答案
创建一个过程并根据您的 ITSM 工具作业安排其执行,以实现自动化。使用OPENROWSET
读取excel如下:
SELECT *
FROM OPENROWSET(
'Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;Database=c:\kunal\test.xlsx',
'SELECT * FROM [sheet1$A3:Z]'
);
这样的东西应该对你有帮助。在上面的代码中,我跳过前两行,从 Excel 的单元格 A3 开始读取,HDR=YES
表示我的数据有标题。
关于sql - 在导入到 SQL Server 之前自动删除 Excel 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41740021/