【问题标题】:Creating a SQL table from a xls (Excel) file从 xls (Excel) 文件创建 SQL 表
【发布时间】:2010-09-25 05:22:45
【问题描述】:
【问题讨论】:
标签:
sql
excel
sql-server-2005
database-table
【解决方案1】:
This example 将数据从 SQL 复制到 Excel。
但这只是交换 OleDb 提供程序以使其朝相反方向工作的问题。
【解决方案2】:
如果您只需要纯 sql 解决方案,可以使用 BULK INSERT T-SQL 命令。您必须先将文件另存为 csv/text。
BULK
INSERT YourDestinationTable
FROM 'D:\YourFile.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
或者,您可以尝试 OPENROWEST - 再次,纯 T-SQL 解决方案。
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;DATABASE=D:\YourExcelFile.xls', 'Select * from YourExcelFile')
这真的取决于你想要多少控制和灵活性,SSIS 路由将比这些方法更有优势。
【解决方案3】:
我建议使用 SSIS/DTS 包进行转换。这要容易得多。
SSIS Excel example
** 请注意,此示例使用的是向导。您可以将 SSIS/DTS 包安排为要在 SQL 框上运行的作业。
【解决方案4】:
浏览代码,我希望它是 excel 文档的完整路径名:
例如:c:\path\to\my\excel\document.xls
虽然我没有安装或运行该程序,所以我可能是错的 - 但乍一看似乎就是这样。