[英]OLEDB Excel file format
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
fileName + ";Extended Properties=\"Excel 12.0 Xml;HDR=Yes;IMES=1;\"";
using (OleDbConnection conn = new OleDbConnection(strConn))
{
conn.Open();
DataTable dt = dataset.Tables[0];
OleDbCommand cmd = new OleDbCommand(getCreateTableCommand(dt), conn);
cmd.ExecuteNonQuery();
conn.Close();
}
/*method - getCreateTableCommand returns something like this -
{CREATE TABLE [Results] ([name1] STRING,[name2] STRING,[name3] STRING,[name4] STRING}*/
輸出為良好。 問題是-我希望Excel列具有適當的寬度。 換句話說,我想得到的寬列有時甚至比寫列名所需的空間還要寬。 如何調整列的大小?
ACE驅動程序無法控制Excel如何顯示值。 如果要控制單元格格式,則將需要使用OpenXML SDK ,第三方加載項(例如jetCell )或使用主要互操作程序集的Excel Automation,但您可能不想使用最后一個選項。
填充Excel后,編寫一種方法以自動調整列寬,或在代碼中將其顯式設置為所需的值。 您需要使用Excel Interop,據我所知,這在C#中很痛苦。 但是,這是一個非常簡單的任務,我懷疑在C#中不會有什么大不了的。 我對Excel自動化的經驗僅在於vb。 這就是我要做的(盡管我不喜歡在我的應用程序中使用第三方的任何東西)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.