Criando um livro do Excel (* .xls) com fórmulas de .NET
-
05-09-2019 - |
Pergunta
Eu estou trabalhando com ASP.NET Webforms e eu preciso criar um relatório como um arquivo Excel.
Isso deve ser fácil, alterando o ContentType, mas eu preciso adicionar dinamicamente fórmulas para algumas células.
Alguma idéia?
PS:. O formato do arquivo excel deve ser XLS não XLSX
Solução
Eu recomendo SpreadsheetML para isso. É apenas um esquema XML que você pode usar para criar documentos que Excel será aberto como se fossem nativos. Você pode definir fórmulas, formatação, várias folhas, ea maioria dos outros excel apresenta.
Tenha cuidado quando pesquisando para informações adicionais sobre SpreadsheetML: há muita desinformação por aí que confunde SpreadsheetML com o novo formato XML usado para Excel no Office 2007. Não é. SpreadsheetML trabalha já em OfficeXP, e até mesmo em um sentido limitado no Office 2000.
Se nada mais, a ligação SpreadsheetML no início deste post também inclui um breve resumo de outras opções para criar arquivos do Excel.
Outras dicas
Você já tentou este ExcelXmlWriter biblioteca?
Além disso, há uma helper / gerador ferramenta que vai com o biblioteca.
Ele irá gerar arquivos .xls. A amostra do website mostra:
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");
}
}
Eu tenho usado exportação Infragistics Excel / importação componente para isso e ele funciona muito bem.
Ele suporta fórmulas e estilo e é bastante sólida. A única desvantagem é que é muito caro e deve ser comprado como parte de um pacote.
SpreadsheetGear for .NET criará XLS ou XLSX pastas de trabalho e inclui suporte fórmula completa.
Você pode ver algumas amostras ao Vivo ASP.NET Excel aqui .
Disclaimer:. Eu possuo SpreadsheetGear LLC