【发布时间】:2015-09-15 18:08:16
【问题描述】:
我想直接从 SQL Server 表中选择一个空的 Excel 电子表格。
我可以从一个电子表格中选择另一个 SQL Server 表(参见下面的示例)。
我可以直接从 ACCESS 选择一个空的电子表格(参见下面的示例)。
但我找不到从 SQL Server 直接选择到空电子表格的方法。
(我通过导入电子表格来操作大量遗留数据,多次操作数据,然后我需要将其导出以供其他需要 csv 文件的程序使用。现在我必须创建一个将其拉入的中间步骤ACCESS 将其恢复到 Excel。我利用 SELECT * INTO 格式化表格,因为我在处理数据时格式化了源表格。)
感谢您的帮助。
我可以通过以下代码从 Excel 中 SELECT * INTO 一个 SQL Server 表:
string query = "SELECT * INTO " + tableName + " " +
"FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0'," +
"'Excel 12.0;Database=" + EXCELfilpath + ";IMEX=1'," +
"'SELECT * FROM ["+sheetName+"$]')";
我也可以从 ACCESS 表中直接选择到 Excel 中
//Select the ACCESS Table INTO an Excel Spreadsheet
try
{
//SELECT INTO command
string cnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + AccfilePath +
";Persist Security Info=False";
ConnOpen(cnStr);
using (connectionToDatabase)
{
//Give the Export Table (destination) a Name
//baseTblName = dt.TableName;
//Generate the SQL string to SELECT * INTO the NEW table in destination
string selectcmd = "SELECT * INTO [Excel 12.0;Database="+ExfilePath+"]." + tblName + " FROM " + tblName;
using (OleDbCommand createCmd = new OleDbCommand(selectcmd, connectionToDatabase))
{
createCmd.ExecuteNonQuery();
}
ConnClose();
}
}
【问题讨论】:
标签: sql-server excel select