2015-09-23 4 views
0

По моему мнению, EPPlus загружает весь файл Excel в память, что создает производительность. Мне было интересно, есть ли способ частично загрузить Excel в EPPlus, чтобы прочитать небольшой ряд строк? Я использую EPPlus версии 4.0.4.Частичная загрузка Excel EPPlus C#

Например, я могу открыть файл CSV и читать только небольшой диапазон строк/строк, а производительность - хорошая. Файл CSV может содержать более миллиона строк/строк.

IEnumerable<string> lines = System.IO.File.ReadLines(filePath).Skip(0).Take(20).ToList(); 

ответ

1

Я не думаю, что это будет возможно.

CSV-файлы - это просто текстовые файлы. Это означает, что вы можете искать и читать любую точку в файле, который хотите.

Файлы Excel (.xlsx) на самом деле являются только ZIP-файлами, а содержащиеся в нем данные представляют собой различные XML-файлы, которые описывают содержимое. Так как он сжат, вы не можете частично загружать файл.

Если вы хотите посмотреть, что находится в файле .xlsx, просто измените расширение на нем на .zip, а затем используйте свой любимый инструмент извлечения, чтобы посмотреть содержимое.

+0

Есть ли способ быстро преобразовать файл excel в CSV без использования MS Excel? Кроме того, я знал, что Excel - это всего лишь ZIP-файл, но я подозреваю, что не все это делают. –

+0

@JasonFoglia Конечно. Найдите программу или библиотеку, которая это делает. Вы используете EPPlus. EPPlus довольно быстро, используйте это для этого. Или напишите свой собственный инструмент, чтобы сделать это. – mason

Смежные вопросы