powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблема чтения excel
19 сообщений из 19, страница 1 из 1
Проблема чтения excel
    #38089160
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как решить проблему чтения данных из excel. Проблема заключается в том что у меня ошибка выпадает при чтении ячейки с датами

Открывать excel и в ручную форматировать ячейки тоже проблемно так как это всегда нужно будет делать в ручную что накладно

Вот например есть код

Код: c#
1.
2.
3.
4.
5.
OleDbConnection theConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;data source=E:\\ReadExcel\\Sample1.xls;");
            theConnection.Open();
            OleDbDataAdapter theDataAdapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", theConnection);
            
            theDataAdapter.Fill(dt);




Пример excel

Поле1 (формат данных текст) | Поле2 (формат данных текст) | Поле3 (формат данных дата)

Так вот при чтении поля с датой вылетает exception подскажите как можна решить эту проблему?

Спасибо.
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38090156
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708,

Microsoft.Jet.OLEDB.4.0 использовали динозавры, поищите код посвежее
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38090233
dzone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
судя по вашему тексту, тот кусок кода который вы показали ошибку не дает, а ошибка при считывании конкретной ячейки из datatable ???
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38090322
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в свое время пытался использовать несколько видов драйверов, но не всегда это работало. Где то ограничения на размер, где то неверно определялись данные.

В итоге плюнул и сделал через раннее связывание в Excel. Поставил двухмесячную триалку 2010 для отладки. Протестил на версиях с 2003 по 2010. Везде работало.
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092147
Muhiddin Hayrullaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
using Excel = Microsoft.Office.Interop.Excel;

Excel.Application xlApp ;
Excel.Workbook xlWorkBook ;
Excel.Worksheet xlWorkSheet ;
Excel.Range range ;

int rCnt = 0;
int cCnt = 0;

xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Open(fayl, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

range = xlWorkSheet.UsedRange;

for (rCnt = 1; rCnt <= range.Rows.Count; rCnt++)
{
for (cCnt = 1; cCnt <= range.Columns.Count; cCnt++)
{
MessageBox.Show((string)(range.Cells[rCnt, cCnt] as Excel.Range).Value2.ToString());
}
}

xlWorkBook.Close(true, null, null);
xlApp.Quit();

releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092153
Muhiddin Hayrullaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
using Excel = Microsoft.Office.Interop.Excel;

Excel.Application xlApp ;
Excel.Workbook xlWorkBook ;
Excel.Worksheet xlWorkSheet ;
Excel.Range range ;

int rCnt = 0;
int cCnt = 0;

xlApp = new Excel.ApplicationClass();
String file = (string)Registry.GetValue(CFG.keyName(), "FILE_NAME", "NULL");
xlWorkBook = xlApp.Workbooks.Open(file, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

range = xlWorkSheet.UsedRange;

for (rCnt = 1; rCnt <= range.Rows.Count; rCnt++)
{
for (cCnt = 1; cCnt <= range.Columns.Count; cCnt++)
{
MessageBox.Show((string)(range.Cells[rCnt, cCnt] as Excel.Range).Value2.ToString());
}
}

xlWorkBook.Close(true, null, null);
xlApp.Quit();

releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092157
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Muhiddin HayrullaevMicrosoft.Office.Interop.Excel;
На помойку.
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092190
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНа помойку.
Что советуете, МСУ? Позднее связывание, драйвера для работы а-ля БД или что-то иное?
Вопрос не с подколкой, не праздный.
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092270
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79МСУНа помойку.
Что советуете, МСУ? Позднее связывание, драйвера для работы а-ля БД или что-то иное?
Вопрос не с подколкой, не праздный.
1. Для 99% задач - генераторы отчетов и только генераторы отчетов (MS Reporting Services, CR, FR и т.д.)
2. Для 1% задач (для особо замороченных отчетов, которые практически нереально сделать в генераторе) - Open XML SDK 2.0 for Microsoft Office (или готовые врапперы под него)

Главное из двух пунктов - не требует наличия офиса. А на сервере (для серверных решения) офис - это беспощадное зло, от которого даже MS открещивается. Офис - чисто клиентская приблуда.
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092285
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

а, немного не то. Если нужно считать данные из файла Excel, а не вывести данные, то генератор отчетов не поможет
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092292
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79МСУ, а, немного не то. Если нужно считать данные из файла Excel, а не вывести данные, то генератор отчетов не поможет
А, я имел ввиду генератор - для создания. Для чтения - AccessDatabaseEngine , CSV , OleDb , XML XSLT чтение, и самое главное - всё тот же Open XML SDK 2.0 for Microsoft Office.
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092306
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУА, я имел ввиду генератор - для создания. Для чтения - AccessDatabaseEngine , CSV , OleDb , XML XSLT чтение, и самое главное - всё тот же Open XML SDK 2.0 for Microsoft Office.

OleDB, ODBC у меня не работали как нужно, хотя я день просидел, пробуя различные настройки.
CSV, XML/XSLT не катят, ибо файлы у меня именно в форматах xls, xlsx

Пойду читать про AccessDatabaseEngine и Open XML SDK 2.0 for Microsoft Office. Из своего опыта добавишь, имеет значение для этих вариантов версия Excel?

Работа с Interop выдала четко все, что нужно, и без донастроек пахала на машинах с Office 2003-2010
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092317
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Из своего опыта добавишь, имеет значение для этих вариантов версия Excel?
Да вроде тоже все версии держит, включая даже 97. Нужно гуглить или пробовать.
Open XML SDK 2.0
Open XML SDK 2.5 CTP (для информации, скоро будет полноценный)
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092321
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79, юзай врапперы: на голом опенофисе сложновато ездить

http://excelpackage.codeplex.com/
http://simpleooxml.codeplex.com/
http://extrememl.codeplex.com/
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092330
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУArm79Из своего опыта добавишь, имеет значение для этих вариантов версия Excel?
Да вроде тоже все версии держит, включая даже 97. Нужно гуглить или пробовать.
Open XML SDK 2.0
Open XML SDK 2.5 CTP (для информации, скоро будет полноценный)

Чёт смущает это. OpenXML - это же формат. Чтобы с ним работать, нужно предварительно сохранить документ в OpenXml. Как же тогда 97 версия работает?
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092341
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Чёт смущает это. OpenXML - это же формат. Чтобы с ним работать, нужно предварительно сохранить документ в OpenXml. Как же тогда 97 версия работает?
Через OOXML, который не входит в дефолтный пакет офиса и ставится отдельно через Microsoft Office Compatibility Pack.
А так да, если юзать чистый 2.0, то оно идет от 2007 и старше.
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092357
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Спасиб
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092834
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУMuhiddin HayrullaevMicrosoft.Office.Interop.Excel;
На помойку.чем вас не устраивает Interop? просто интересно, сам я не любитель читать из офисных файлов )
...
Рейтинг: 0 / 0
Проблема чтения excel
    #38092851
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesМСУпропущено...

На помойку.чем вас не устраивает Interop? просто интересно, сам я не любитель читать из офисных файлов )
Наличие офиса.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблема чтения excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]