Предложения по чтению данных из excel в .net c # - PullRequest
2 голосов
/ 06 августа 2009

Мне нужно прочитать данные из файлов Excel в моем приложении c # winforms. Любые рекомендации по хорошим компонентам для этого? Я использовал syncfusion несколько лет назад, и это, похоже, помогло.

Будет несколько строк заголовков, которые мне нужно пропустить (поэтому простой подход ADO не сработает легко), а затем таблица данных со стандартными столбцами, но с переменным количеством строк.

Я буду закачивать данные в базу данных SQL Server, как только она будет прочитана, но, вероятно, перед этим потребуется выполнить проверку и т. Д.

спасибо!

Ответы [ 9 ]

2 голосов
/ 06 августа 2009

SpreadsheetGear for .NET сделает это.

Вы можете посмотреть образцы ASP.NET с C # и источником VB здесь и загрузить бесплатную пробную версию здесь , если хотите попробовать.

Отказ от ответственности: я владею SpreadsheetGear LLC

1 голос
/ 06 августа 2009

В настоящее время мы используем Flexcel . У него есть несколько полезных функций, в том числе инструмент для чтения электронных таблиц и генерации необходимого кода C # (или VB или Delphi) для генерации этого листа с использованием их инструментария - это упрощает разработку листа. Лицензирование не было дорогим (лицензия на сайт для разработчиков, распространение бесплатно).

Единственное, против чего стоит то, что совместимость с XLSX (собственный формат Excel 2007) "очень скоро наступит".

1 голос
/ 06 августа 2009

вы также можете использовать LINQ to XML, см. ссылку ниже ...

Видеоурок

1 голос
/ 06 августа 2009

Одна из альтернатив: MS Office Wrapper для .NET

1 голос
/ 06 августа 2009

Я сейчас использую компонент ComponentOne XLS. Это довольно стабильно и делает это. Я тоже использую его для интеграции данных.

Я также хотел сделать некоторые отчеты xls, однако API не поддерживает полный стек Excel (даже не запускает экземпляр Excel), поэтому мне пришлось перейти на Mirosoft.Office.Interop

1 голос
/ 06 августа 2009

Использование ASPOSE Tools

Использование ADO.NET

Вам нужна графическая поддержка?

0 голосов
/ 20 мая 2011

В конечном итоге мы выбрали Syncfusion XLSIO , который работает хорошо.

Спасибо и за другие предложения.

0 голосов
/ 06 августа 2009

Прочтите этот пост в блоге «Чтение и запись таблиц Excel».

Чтение и запись электронных таблиц Excel

0 голосов
/ 06 августа 2009

Вы можете сделать что-то вроде этого:

// Connection String to Excel Workbook
string excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Extended Properties=\"Excel 8.0;HDR=YES;\"";

OleDbDataAdapter oleDbDataAdapter = new OleDbDataAdapter("Select * FROM [Sheet1$]", excelConnectionString);

DataSet dataSet = new DataSet();

oleDbDataAdapter.Fill(dataSet);

Также см. «SqlBulkCopy»

...