Я собираюсь работать над инструментарием общего назначения для написания файлов excel, основанных на данных базы данных. Я работал с несколькими методами, прежде чем:
Экспорт данных в таблицу Excel
1) нужно создать файл CSV
Excel откроет его и форматировать данные с каждого значения происходит в одну ячейку, каждая строка одна строка.
Недостатки: расширение файла не всегда открывается по умолчанию.
Кажется, что он «отключен» на очень больших источниках данных. Из памяти он ударил около 65 000 строк, прежде чем остальная часть файла была «проигнорирована» excel.
2) Создание XML-электронной таблица
http://msdn.microsoft.com/en-us/library/bb226687(v=office.11).aspx
Недостатки: Ошибка при открытии-х «файл, который вы пытаетесь открыть ** в другом формате, чем указано расширением файла». Он отлично работает, но это не внушает доверия.
Делает запись SQL-to-XML неудобной.
Я кратко рассмотрел использование excel Interop методов некоторое время назад. И я уверен, что у меня были проблемы при попытке запустить код с сервера, на котором не установлено excel/office. Это будет почти всегда будет иметь дело.
Обычно код запускается либо через веб-страницу, либо через службу WCF Silverlight (если это имеет значение).
И либо отправил по электронной почте пользователю, либо был бы неплохо иметь возможность просто открыть файл прямо сейчас и разрешить им сэкономить.
Включая заголовки/цвета/эта формула будет бонус
В основном на данный момент они просто копировать/вставить данные.
Но с большим набором данных он подвержен сбою или просто очень медленный.
Любых дать мне лучшие идеи, как идти об этом
Вы можете написать таблицу HTML и использовать расширение * .xls. Excel преобразует его в файл Excel при первом открытии. Нет поддержки формул, но дает вам немного форматирования. Помимо этого, единственным вариантом является использование стороннего инструмента. – JDB
Re interop «почти всегда будет иметь дело» - что будет, Excel не будет установлен или установленный Excel? –
Какое расширение XML-файла вызывает сообщение о «другом формате»? –