有人可以建议如何批量插入.xlsx
文件吗?
我已经尝试了以下查询:
BULK INSERT #EVB FROM 'C:\Users\summer\Desktop\Sample\premise.xlsx'
WITH (FIELDTERMINATOR = '\t', ROWTERMINATOR = '\n', FIRSTROW = 2);
SELECT * FROM #EVB
我也尝试使用FIELDTERMINATOR like "**\t**", "**,**", "**;**", "**|**"
,但这也不起作用。
不幸的是,没有错误消息。
答案 0 :(得分:23)
您可以将xlsx文件另存为制表符分隔的文本文件并执行
BULK INSERT TableName
FROM 'C:\SomeDirectory\my table.txt'
WITH
(
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n'
)
GO
答案 1 :(得分:3)
您需要使用OPENROWSET
请检查此问题:import-excel-spreadsheet-columns-into-sql-server-database
答案 2 :(得分:1)
为您的文档创建链接服务器
http://www.excel-sql-server.com/excel-import-to-sql-server-using-linked-servers.htm
然后使用普通的INSERT或SELECT INTO。如果你想得到想象,你可以使用ADO.NET的SqlBulkCopy,它几乎可以获取任何可以从DataReader获取的数据源,并且插入速度非常快,尽管读取数据的速度不会很快。 / p>
您还可以花时间将Excel电子表格转换为文本分隔文件或其他bcp supported format,然后使用BCP。
答案 3 :(得分:0)
可以使用 SQL Server导入和导出向导完成。但是,如果您熟悉SSIS并且不想运行SQL Server导入和导出向导,请创建一个SSIS包,它在数据流中使用Excel Source和SQL Server Destination。