Excel усекает строковые данные до 255 символов.Как я могу прочитать всю строку данных без изменения реестра - PullRequest
1 голос
/ 02 марта 2012

Как вы знаете, Excel обрезает строковые данные, если вы пытаетесь их прочитать.Microsoft говорит, что в реестре нужно установить TypeGuessRows на 0.Но мне не разрешено изменять его там (ограничение клиента).
Я пытался записать этот параметр в строку подключения, как это

@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}; Extended Properties=""Excel 8.0;HDR=No;IMEX=1;TypeGuessRows=0"""

, но он не работает.* Вопрос: как я могу прочитать данные всей строки из файла Excel без изменения параметра TypeGuessRows?
Есть ли другие способы решения этой проблемы?Я могу использовать Excel через Interop ...

Ответы [ 2 ]

1 голос
/ 02 марта 2012

Попробуйте использовать ACE Driver вместо JET (доступно на серверах x86 и x64, JET только x86!)

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";
0 голосов
/ 02 марта 2012

Нет, проблема не в превосходстве; это драйвер JET, поэтому единственный способ изменить это в реестре, как вы упомянули

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...