Экспорт в файл Excel .xlsx

Я пытаюсь экспортировать файл xlsx с этими кодами:

OleDbDataAdapter adapter = new OleDbDataAdapter(select, accessConnection);
adapter.Update(dataTable);

Строка подключения

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\AA\Desktop\work10.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";

Я пытаюсь экспортировать 200000 строк в файл xlsx, но получаю сообщение об ошибке электронная таблица заполнена. Когда я пытаюсь открыть файл Excel, я получаю сообщение об ошибке Недопустимое расширение файла.

После изменения расширения .xlsx на .xls файл открывается, но мне не хватает количества строк.

На компьютер установлена ​​версия Microsoft Access Database Engine 2010.

Как я могу это исправить?


person Anil Kocabiyik    schedule 25.01.2016    source источник
comment
Это все еще происходит, если вы добавите параметр IMEX=1 в строку подключения?   -  person SierraOscar    schedule 25.01.2016
comment
Это вызывает другие проблемы   -  person Anil Kocabiyik    schedule 26.01.2016


Ответы (1)


Кажется, драйвер OLEDB Excel ограничен 65536 строками. Таким образом, вы не можете использовать текущий код для экспорта 200 000 строк. Извините, это просто не сработает, и вы никак не сможете заставить это работать.

Если вам нужно написать более 65536 строк, вам нужно использовать другой механизм экспорта Excel, например, стороннюю библиотеку C# Excel или рассмотрите возможность использования другого формата файла, например CSV.

person Heinzi    schedule 25.01.2016
comment
Я знаю, что .xls ограничен, поэтому я пытаюсь экспортировать файл .xlsx. Моя ConnectionString кажется подходящей для файлов .xlsx - person Anil Kocabiyik; 25.01.2016
comment
@ user1451549: Судя по всему, это не только ограничение формата файла xls, но и ограничение драйвера OLEDB (xls и xlsx). Ваша строка подключения выглядит нормально. - person Heinzi; 25.01.2016
comment
Благодарю за ваш ответ. Я задам еще один вопрос, когда я попытаюсь экспортировать менее 65536 строк, экспорт завершится успешно. После этого я пытаюсь открыть экспортированный файл xlsx и получаю сообщение «Excel не может открыть файл test.xlsx, поскольку формат файла или расширение файла недействительны. Убедитесь, что файл не поврежден и что расширение файла соответствует формату ошибки файла. Как я могу это решить? - person Anil Kocabiyik; 26.01.2016
comment
Я спросил здесь stackoverflow.com/questions/ 35012472/ - person Anil Kocabiyik; 26.01.2016