我想直接从 SQL Server 表中选择一个空的 Excel 电子表格。
我可以从电子表格中选择另一个 SQL Server 表(参见下面的示例)。
我可以直接从 ACCESS 选择一个空的电子表格(见下面的例子)。
但我找不到从 SQL Server 直接选择到空电子表格的方法。
(我通过导入电子表格来操作大量遗留数据,多次操作数据,然后我需要将其导出以供其他需要 csv 文件的程序使用。现在我必须创建一个中间步骤,将其拉入 ACCESS 以获得它返回到 Excel。我利用SELECT * INTO
来格式化表格,因为我在处理数据时格式化了源表格。)
谢谢您的帮助。
我可以SELECT * INTO
通过以下代码从 Excel 中创建 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();
}
}