How to selectively import an XLS into an SQL Server 2008 table?

馋奶兔 提交于 2019-12-13 06:29:40

问题


I have an XLS file. Let's assume that it has 1000 rows in all, with 10 columns. I would like to import rows 5 through 995 (say), and columns 1 though 7 and 10. How can I do this using an SQL query, either though OPENROWSET or BULK INSERT? I am using SQL Server 2008.


回答1:


I had another idea.

You could also use a Linked Server which connects to the Excel document.
(This is probably an easier approach for you.)

See: http://support.microsoft.com/kb/306397




回答2:


I would approach this in a slightly different way.

I would import all the data into the database, into a temporary table. Then I would query that table, extracting the information that's needed.

Alternatively, you could look at a SSIS process to do this.




回答3:


SELECT *
FROM OPENROWSET(
    'Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0;HDR=No;Database=c:\path\to\file.xls',
    'SELECT * FROM [Sheet1$A5:J995]'
);


来源:https://stackoverflow.com/questions/5271104/how-to-selectively-import-an-xls-into-an-sql-server-2008-table

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!