1

HRTC在 SQL Server 中有一个表。我想将 Excel 中的数据导入此表中。但我的 Excel 文件没有与表格匹配的所有列HRTC。无论如何我可以做到这一点吗?

我正在考虑类似于导入向导中的内容

Insert into SQLServerTable Select * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=D:\testing.xls;HDR=YES', 
'SELECT * FROM [SheetName$]')

 select column1, column2 from HRTC
4

3 回答 3

3

试试这个

创建临时表

Select * INTO TmpTable FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=D:\testing.xls;HDR=YES', 
'SELECT * FROM [SheetName$]')

然后使用 temptable 将行插入到 hrtc 中,任何丢失的列都将具有 null

INSERT INTO hrtc(column1, column2)
select col1, col2 from TmpTable
于 2013-01-23T21:43:05.567 回答
1

一种简单的方法是将您的 excel 文件编写成一组插入语句,然后在 SQL Server 上运行它。

此外,如果您可以将 excel 文件导出为 CSV 文件,这通常很有用。SQL Server Management Studio 之类的工具应该有某种导入向导,您可以在其中加载 CSV、选择列映射等。

于 2013-01-23T21:46:48.113 回答
0

在这些情况下,我经常最终做的是使用 excel 的 CONCATENATE 函数完成一些代码。

假设您有:

     A     B
1  foo     bar
2  test2   bar2
3  test3   bar 3

如果您需要将它们插入表中。在 C 列中,您可以写:

=CONCATENATE("INSERT INTO HRTC(col, col2) VALUES('", A1, "','", B1, "')")
于 2013-01-23T21:51:59.597 回答