奇怪的OLEDB Excel出口问题

时间:2010-07-14 20:41:28

标签: c# excel oledb

我编写了一个使用OLEDB在C#中生成Excel工作簿的程序。大多数工作,但我注意到的一件事是,如果我只输出1列,它会在标题后留下一个空行。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这是我正在使用的一些示例代码,我没有看到这个问题。我正在创建一个新的工作簿/电子表格,然后只填充一行和一列。

您可以发布您的代码,我们可以看到有什么不同之处吗?

        static void Main(string[] args)
    {
        string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\SOTest2.xls;Extended Properties=""Excel 8.0;HDR=NO;""";
        DbProviderFactory factory =
          DbProviderFactories.GetFactory("System.Data.OleDb");

        using (DbConnection connection = factory.CreateConnection())
        {
            connection.ConnectionString = connectionString;
            using (DbCommand command = connection.CreateCommand())
            {
                connection.Open();  //open the connection 

                command.CommandText = "CREATE TABLE [Sheet1] (F1 number);";
                command.ExecuteNonQuery();  //create the sheet before doing any inserts 

                command.CommandText = "INSERT INTO [Sheet1$] (F1) VALUES(4)";
                command.ExecuteNonQuery();  //now insert a row into the sheet 
            }
        }
    }

如果我插入包含多列的单行,我也看不到空行:

command.CommandText = "CREATE TABLE [Sheet1] (F1 number, F2 char(255), F3 char(128))";
command.ExecuteNonQuery();  //create the sheet before doing any inserts 
command.CommandText = "INSERT INTO [Sheet1$] (F1, F2, F3) VALUES(4,\"Tampa\",\"Florida\")";
command.ExecuteNonQuery();  //now insert a row into the sheet 

希望这有帮助!