我正在尝试将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
答案 0 :(得分:2)
根据您的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
表示我的数据有标题。
答案 1 :(得分:0)
我在网上发现了这篇文章。将数据从Excel移动到SQL Server,并消除了Excel上的2个不需要的行。
https://www.simple-talk.com/sql/ssis/moving-data-from-excel-to-sql-server-10-steps-to-follow/