Создание книги Excel (* .xls) с формулами из .NET - PullRequest
1 голос
/ 08 апреля 2009

Я работаю с ASP.NET Webforms и мне нужно создать отчет в виде файла Excel.

Это должно быть легко, изменив ContentType, но мне нужно динамически добавлять формулы в некоторые ячейки.

Есть идеи?

PS: формат файла Excel должен быть XLS, а не XLSX.

Ответы [ 4 ]

1 голос
/ 08 апреля 2009

Я рекомендую SpreadsheetML для этого. Это просто XML-схема, которую вы можете использовать для создания документов, которые Excel откроет, как если бы они были родными. Вы можете установить формулы, форматирование, несколько листов и большинство других функций Excel.

Будьте осторожны при поиске дополнительной информации о SpreadSheetML: существует много дезинформации, которая путает SpreadSheetML с новым форматом Xml, используемым для Excel в Office 2007. Это не так. SpreadSheetML работает еще в OfficeXP, и даже в ограниченном смысле в Office 2000.

Если ничего другого, ссылка SpreadSheetML в начале этого поста также содержит краткий обзор других вариантов создания файлов Excel.

1 голос
/ 08 апреля 2009

Вы пробовали эту библиотеку ExcelXmlWriter ?

Также есть библиотека , которая поставляется с библиотекой.

Он будет генерировать файлы .XLS. Образец с сайта показывает:

using CarlosAg.ExcelXmlWriter;

class TestApp {
    static void Main(string[] args) {
       Workbook book = new Workbook();
       Worksheet sheet = book.Worksheets.Add("Sample");
       WorksheetRow row =  sheet.Table.Rows.Add();
       row.Cells.Add("Hello World");
       book.Save(@"c:\test.xls");
    }
}

0 голосов
/ 08 апреля 2009

SpreadsheetGear for .NET создаст рабочие книги XLS или XLSX и включает полную поддержку формул.

Здесь вы можете увидеть некоторые примеры ASP.NET Excel Reporting здесь .

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

0 голосов
/ 08 апреля 2009

Я использовал Компонент экспорта / импорта Excel Infragistics для этого, и он работает довольно хорошо.

Он поддерживает формулы и стили и довольно солиден. Единственным недостатком является то, что он довольно дорогой и должен быть куплен как часть пакета.

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