Создание книги Excel через OLEDB без заголовков - PullRequest
0 голосов
/ 04 июля 2010

У меня есть программа на C # для записи в Excel, которая должна поддерживать файлы без заголовков и файлы с.

Если я пишу там, где мне нужны заголовки, это нормально, но в случае чтения файла безЗатем я хочу написать таблицу без заголовков.Если я использую те же заголовки для создания таблицы, я по-прежнему получаю в содержимом F1, F2, F3 и т. Д.

Моя строка подключения для записи: -

Provider = Microsoft.Jet.OLEDB.4.0;Источник данных = имя файла ; Расширенные свойства = "Excel 8.0; HDR = Нет; IMEX = 0;"

Любые идеи о том, как потерять заголовки?

1 Ответ

0 голосов
/ 18 февраля 2013

Этот вопрос уже немного устарел, но вот как я ответил на другой похожий вопрос:

Это не красиво, но я нашел единственный способ создать новый рабочий лист, в котором ничего нет. Единственная проблема, которую я обнаружил, заключается в том, что 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();
}
...