从 SQL 服务器导出到 Excel 出错

Exporting to Excel from SQL Server getting error

我有这个脚本可以正常工作

EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess' , 1 
RECONFIGURE
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1 
RECONFIGURE


INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;hdr=yes;Database=C:\aa\Customer.xlsx;','SELECT * FROM [Hoja1$]')
select  a.Email from AspNetUsers a

这工作正常并在我现有的 Customer.xlsx 电子表格中获得一列但是当我尝试 select 来自 table

的几列时
select  a.Email, a.Id from AspNetUsers a

我收到以下错误

Msg 213, Level 16, State 1, Line 5
Column name or number of supplied values does not match table definition.

我已经尝试了所有方法,但我不明白为什么会这样。

我的想法是使用类似这样的方法导出到 excel 整个结果集。

Select * from AspNetUSers

我得到了同样的错误。

我已经搜索了好几个小时,但没有找到可以理解的好东西。

我正在使用 SQL Server 2014 和 2008 两者都出现相同的错误。

提前致谢。

  1. 只需打开 Excel
  2. 在工作表 1 的第一行中的每一列中给出列名称
  3. 保存 Excel
  4. 再次执行脚本..它会工作!

参考文献here