[英]Importing selected information from excel to with SQL with select into
我正在尝试从特定文件中导入特定信息,并将其放入工作簿中。
让:
“ Bluelake.xlsm”将是文件名(工作簿)“ Time”将是工作表信息在表“ C3”至“ C8”中。
sql表的参数为:
TableName:processStatus
列:processStatus,值是:varchar(32)/任何字符串
我的问题:
我知道“插入”的书呆子示例:
INSERT INTO table_name(column1,column2,column3,...)VALUES(value1,value2,value3,...);
不幸的是,我不知道如何扩展它。
先感谢您。
INSERT INTO processStatus (processStatus1, processStatus2, processStatus3
,processStatus4, processStatus5, processStatus6)
SELECT (C3, C4, C5, C6, C7, C8)
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;Database=Bluelake.xlsx',
'select * from [Time$]');
注意:如果实际上在Excel工作表中已命名列,则需要在此处替换它们。
而且您没有为processStatus表提供列名,因此我用通用名称替换了它们,您也需要在代码中替换它们。
您的“数据库”必须是Excel文件的标准文件路径。
最后,如果确实需要更改数据类型,则需要CAST每列。 例如:
CAST(C3 AS VARCHAR(32))
希望这可以帮助!
编辑:另一件事,您可能需要为XLSX使用不同的OLEDB驱动程序。 如果它是一个简单的电子表格,则可能更容易从Excel中另存为旧格式(XLS)。 或者,您可以更进一步,使用SQL导入向导将Excel数据放入表中,然后您的INSERT INTO语句将更加简化,因为您只需从表中进行选择,而不使用OPENROWSET来查询Excel文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.