Sql server 如何从XLSX文件扩展名大容量插入?
谁能建议如何从Sql server 如何从XLSX文件扩展名大容量插入?,sql-server,bulkinsert,xlsx,Sql Server,Bulkinsert,Xlsx,谁能建议如何从.xlsx文件批量插入 我已经尝试了以下查询: BULK INSERT #EVB FROM 'C:\Users\summer\Desktop\Sample\premise.xlsx' WITH (FIELDTERMINATOR = '\t', ROWTERMINATOR = '\n', FIRSTROW = 2); SELECT * FROM #EVB 我还尝试使用字段终止符,如“***\t**”、“***”、“***”、“***”、“***”、“***\124;**”,但这
.xlsx
文件批量插入
我已经尝试了以下查询:
BULK INSERT #EVB FROM 'C:\Users\summer\Desktop\Sample\premise.xlsx'
WITH (FIELDTERMINATOR = '\t', ROWTERMINATOR = '\n', FIRSTROW = 2);
SELECT * FROM #EVB
我还尝试使用字段终止符,如“***\t**”、“***”、“***”、“***”、“***”、“***\124;**”
,但这也不起作用
很遗憾,没有错误消息。您可以将xlsx文件保存为以制表符分隔的文本文件,然后执行以下操作
BULK INSERT TableName
FROM 'C:\SomeDirectory\my table.txt'
WITH
(
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n'
)
GO
创建链接到文档的服务器 然后使用普通插入或选择插入。如果您想玩得开心,可以使用ADO.NET的SqlBulkCopy,它几乎可以从任何数据源获取数据读取器,并且插入时非常快,尽管数据的读取速度并不快
您还可以花时间将excel电子表格转换为文本分隔文件或其他文件,然后使用BCP。您需要使用
OPENROWSET
检查此问题:可以使用SQL Server导入和导出向导来完成。但是如果您熟悉SSI并且不想运行SQL Server导入和导出向导,创建在数据流中使用Excel源和SQL Server目标的SSIS包。为什么要批量插入到临时表中?xlsx是压缩xml,不能从中插入。您试图将其视为csv文件,但它几乎肯定不是。这非常有用。Excel导出的实际txt文件中的行终止符以CRLF终止。我尝试了RowTerminator=“\r\n”,但多次无法将其导入。使用\n解决了该问题。我知道这是一个老建议,但谢谢你!它仍然是最新的。