Способы поиска файла Excel в asp.net - PullRequest
0 голосов
/ 11 августа 2010

Предположим, у меня есть файл Excel> 200000 строк. Какой самый быстрый способ, который может быть реализован для поиска значения столбчатого столбца в этом файле, используя c # asp.net. Любое предложение.

Ответы [ 4 ]

2 голосов
/ 11 августа 2010

При условии, что 1) вы можете хорошо кэшировать содержимое файла (не слишком большое, файл не изменяется и т. Д.) И 2) у вас еще нет механизма для чтения файла, я бы просто прочитал файл один раз ( при запуске приложения, или отложенной загрузке по требованию, или чего-то еще) в память - я использовал и очень люблю библиотеки FileHelpers из http://www.filehelpers.com/ - см. пример Excel @ http://www.filehelpers.com/example_exceldatalink.html

как часть 'read in the file', вы, вероятно, также создадите некоторые индексы для последующих запросов. Если вы заботитесь только об одном столбце, вы можете просто вставить все это, например, в HashSet, чтобы вы могли быстро выполнить Contains позже.

1 голос
/ 12 августа 2010

Возможно, вы захотите использовать соединение «OLE DB for Jet 4.0», которое можно запросить через ADO.NET.Доступ OLE DB к Excel обеспечивается через компонент MDAC, который входит в стандартную версию Windows после 2000 года. ConnectionStrings.com имеет строки подключения OLE DB для подключения к Excel , а также информацию о с использованиемJet в 64-битной среде .

1 голос
/ 11 августа 2010

Вы не можете получить доступ к файлу Excel из ASP.NET вообще, если вы используете API автоматизации Excel. Они были написаны для использования в настольном приложении, а не в серверном приложении, таком как ASP.NET. Они не будут работать, не поддерживаются и вполне могут нарушить ваше лицензионное соглашение с Microsoft.

Существуют сторонние библиотеки, которые могут безопасно обращаться к файлу Excel из ASP.NET. Они не используют API автоматизации.

0 голосов
/ 05 октября 2012

Используйте EPPLus и считайте файл в DataTable. Может занять некоторое время, этот файл немного большой ...

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