好吧,爲了防止其他人需要這樣做,我已經妥協了,使用OLE DB和ACE驅動程序寫入Excel臨時文件,然後發送到SQL。 Excel文件操作如下。
PS:如果你像我一樣寫代碼的大客戶,我們傾向於避免可能引入安全漏洞進入系統隨機量編寫的庫。此代碼使用MS庫並且沒有其他外部來源。
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;c:\\someFile.xlsx";Extended Properties=\"Excel 12.0 Xml;HDR=NO;IMEX=1\"";
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = "CREATE TABLE [table1] (id INT, name VARCHAR, datecol DATE);";
cmd.ExecuteNonQuery();
cmd.CommandText = "INSERT INTO [table1](id,name,datecol) VALUES(1,'AAAA','2014-01-01');";
cmd.ExecuteNonQuery();
cmd.CommandText = "INSERT INTO [table1](id,name,datecol) VALUES(2, 'BBBB','2014-01-03');";
cmd.ExecuteNonQuery();
cmd.CommandText = "INSERT INTO [table1](id,name,datecol) VALUES(3, 'CCCC','2014-01-03');";
cmd.ExecuteNonQuery();
cmd.CommandText = "UPDATE [table1] SET name = 'DDDD' WHERE id = 3;";
cmd.ExecuteNonQuery();
conn.Close();
}
是的,當您將二進制文件保存在Excel中時很容易。根據上述,我有一個SELECT語句,比如「SELECT name,surname FROM users」,我想將它保存到Excel二進制文件並返回到我的C#應用程序。我使用HTTPMessaging向瀏覽器發送二進制,MIME類型,文件名。缺少的是需要從頭開始創建的Excel二進制文件。 –
並不那麼簡單。 Google for NPOI庫,您將找到創建Excel文件的庫。而且,我記得沒錯,你必須將創建的excel保存到文件系統中...... – Nino