Como posso escrever para um excel usando Microsoft.Escritorio.Interop.Destacar.Aplicação em C# [fechado]
gostaria de ter um exemplo simples para escrever numa planilha do Excel usando a Microsoft.Escritorio.Interop.Destacar.Objectos da aplicação em c #
Qualquer um, por favor, ajude-me. Obrigado.3 answers
O Interop não é suportado em cenários de servidor (como ASP.NET) de acordo com MS .
Existem muitas opções para ler/editar / criar ficheiros Excel sem Interop / instalar o Excel no servidor:
O MS oferece o OpenXML SDK v 2. 0 - see http://msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx (apenas XLSX)
Isto pode ler+escrever ficheiros do MS Office (incluindo o Excel).
Outra opção livre ver http://www.codeproject.com/KB/office/OpenXML.aspx (apenas XLSX)
Se precisar mais como lidar com versões antigas do Excel (como XLS, não só XLSX), renderização, criação de PDFs, fórmulas, etc. então existem diferentes bibliotecas livres e comerciais como ClosedXML (livre, apenas XLSX), EPPlus (livre, apenas XLSX), Aspose.Células, SpreadsheetGear, LibXL e Flexcel, etc.
Aqui está um exemplo simples de criar um novo livro de trabalho e escrever um valor para uma célula.
using Excel = Microsoft.Office.Interop.Excel;
var xlApplication = new Excel.Application();
var workbooks = xlApplication.Workbooks;
Excel.Workbook sampleWorkbook = workbooks.Add();
Excel.Worksheet sampleWorksheet = sampleWorkbook[1];
Excel.Range sampleCell = sampleWorksheet.get_Range("A1");
sampleCell.Value = "New Value";
sampleWorkbook.SaveAs("Output.xlsx");
sampleWorkbook.Close();
xlApplication.Quit();
Da minha experiência anterior de trabalho com a Microsoft.Escritorio.Interop.Excel, posso dizer-te que vai ser um inferno. Em vez disso, sugiro usar o motor Excel gerido como o EPPlus
Implementei algumas funcionalidades de exportação do Excel usando o EPPlus e está a funcionar bem.