2010-04-26 2 views
0

У меня есть приложение, которое пишет огромные .csv-файлы размером от 1 ГБ до 2 ГБ.Открытие огромного CSV-файла с Excel Interop

Мне нужно покрасить код файла и сохранить его как .xlsx.

Итак, я попытался использовать Excel Interop, и он отлично работает для небольших файлов, но когда я пытаюсь открыть файл с расширением 1.3GB .csv с Excel, я получаю ошибку Hresult.

Любые идеи относительно того, как я мог бы выполнить эту задачу либо с использованием Excel, либо если есть какой-либо другой способ сделать это.

+0

Я столкнулся с проблемой неделю или два назад, когда Excel 2003 не смог обработать более 65536 строк на листе, поэтому можно было бы отображать только частичный файл (наше решение состояло в том, чтобы разделить файл, прежде чем он достигнет предела строки 65536). Существовали аналогичные ограничения на количество столбцов, но поскольку я этого не делал, я не знаю, что это за нумер:) Просто FYI ... – FrustratedWithFormsDesigner

+0

Какую версию Excel вы используете и какой код ошибки вы точно? –

ответ

1

Есть способы писать и читать файлы excel без использования interel. Я почти уверен, что помню, что у microsoft есть открытые спецификации на excel fileformat.

+1

Ах, неважно, наверное, это было сказано выше, разделить файлы. –

5

Вы превысили 1M строк? Возможно, это причина ошибки HRESULT.

64K строк не более, прежде чем Excel 2007 1M строк для 2007

+0

Excel 2007 также выходит за пределы? Я слышал «неограниченный» от коллеги, но я думаю, что у них просто не было данных! ;) – FrustratedWithFormsDesigner

+0

http://office.microsoft.com/en-us/excel/ha100778231033.aspx - В Excel 2007 размер листа составляет 16384 столбца на 1 048 576 строк, но размер рабочих листов более ранних версий Excel составляет всего 256 столбцов на 65 536 строк. – Joe

+2

@FrustratedWithFormsDesigner: Конечно, Excel 2007 также имеет предел, любая машина имеет ограниченные ресурсы (и одна граница здесь - ограничение памяти 2 ГБ для 32-битного процесса). Фактически, большие листы Excel являются одной из причин того, что в настоящее время в Office используется 64-разрядная версия Office. –

0

Спасибо за ответы, ребята, подумав об этом, я решил просто использовать файл в формате CSV.

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