谁能告诉我如何从批量插入.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**", "**,**", "**;**", "**|**"
但这也不管用。
不幸的是,没有任何错误消息。
您可以保存XLSX文件作为制表符分隔文本文件,然后执行
BULK INSERT TableName
FROM 'C:\SomeDirectory\my table.txt'
WITH
(
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n'
)
GO
您需要使用OPENROWSET
检查这个问题: 进口的Excel电子表格列,到-SQL服务器数据库
创建链接的服务器到您的文档
http://www.excel-sql-server.com/excel-import-to-sql-server-using-linked-servers.htm
然后使用普通的INSERT或SELECT INTO。 如果你想获得幻想,你可以使用ADO.NET的SqlBulkCopy的,这需要几乎任何数据源,你可以从得到一个DataReader,并在插入相当快,尽管数据的读取不会ESP快。
你也可以采取改造的Excel电子表格导入文本分隔的文件或其他时间BCP支持的格式 ,然后使用BCP。
它可以使用SQL Server导入和导出向导来完成。 但是,如果你熟悉SSIS,不想运行SQL Server导入和导出向导,创建一个使用Excel源,并在数据流中的SQL Server目标的SSIS包。