簡體   English   中英

通過沒有標題的OLEDB創建Excel工作簿

[英]Creating an Excel Workbook via OLEDB without headers

我有一個C#程序可以寫入Excel,該程序支持不帶標題的文件和帶有該文件的文件。

如果我在需要標題的地方寫,這很好,但是在讀取沒有標題的文件的情況下,我想寫一個沒有標題的表。 如果我使用相同的標題來創建表,則內容中仍會顯示F1,F2,F3等。

我寫的連接字符串是:-

Provider = Microsoft.Jet.OLEDB.4.0; 數據源= 文件名 ;擴展屬性=“ Excel 8.0; HDR =否; IMEX = 0;”

關於如何丟失標題的任何想法?

這個問題現在有點老了,但是下面是我如何回答另一個類似的問題:

這不是很漂亮,但這是我發現創建沒有任何內容的新工作表的唯一方法。 我發現的唯一問題是Oledb會在CREATE命令中指定的標頭單元格上自動創建一個命名范圍,但是假設您對此並不在意,那么它應該可以正常工作。

string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName +
    ";Mode=ReadWrite;Extended Properties=\"Excel 8.0;HDR=NO\"";

using (OleDbConnection conn = new OleDbConnection(connectionString))
{
    conn.Open();

    using (OleDbCommand cmd = new OleDbCommand())
    {
        cmd.Connection = conn;
        cmd.CommandText = "CREATE TABLE [MySheet] (a string)";  // Doesn't matter what the field is called
        cmd.ExecuteNonQuery();

        cmd.CommandText = "UPDATE [MySheet$] SET F1 = \"\"";
        cmd.ExecuteNonQuery();
    }

    conn.Close();
}

暫無
暫無

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

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