簡體   English   中英

OLEDB Excel文件格式

[英]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。 這就是我要做的(盡管我不喜歡在我的應用程序中使用第三方的任何東西)

如何通過Excel互操作對象自動調整列大小?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM