Странная проблема экспорта в OLEDB Excel - PullRequest
0 голосов
/ 15 июля 2010

Я написал программу для создания книги Excel в C # с использованием OLEDB. В основном работает, но я заметил одну вещь: если я вывожу только 1 столбец, после заголовка остается пустая строка.

Есть идеи?

1 Ответ

0 голосов
/ 19 июля 2010

Вот пример кода, который я использую, и я не вижу проблемы. Я создаю новую книгу / электронную таблицу, а затем заполняю только одну строку и столбец.

Можете ли вы опубликовать свой код, и мы увидим, в чем различия?

        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 

Надеюсь, это поможет!

...