通过OLEDB创建没有标题的Excel工作簿

时间:2010-07-04 14:01:05

标签: c# excel oledb

我有一个C#程序写入Excel,它支持没有标题和文件的文件。

如果我写了我想要的标题,这很好,但是在读取没有标题的文件的情况下,我想写一个没有标题的表。如果我使用相同的标题来创建表格,我仍会在内容中获得F1,F2,F3等。

我写的连接字符串是: -

提供商= Microsoft.Jet.OLEDB.4.0;数据源= 文件名;扩展属性=“Excel 8.0; HDR =否; IMEX = 0;”

有关如何丢失标题的任何想法?

1 个答案:

答案 0 :(得分: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();
}