繁体   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