Biblioteca .NET gratuita para criar documentos de planilha
Leia, escreva, manipule e converta arquivos Excel via API .NET de código aberto.
A API do NetOffice permite que os desenvolvedores .NET leiam, escrevam, manipulem e convertam arquivos do Excel por meio da API .NET de código aberto. A API permite automatizar planilhas do Microsoft Excel e desenvolver Add-ins do Microsoft Excel. Usando a API, o desenvolvedor usará todas as opções incluídas nas versões do MS Office 2000, 2002, 2003, 2007, 2010, 2013 e 2016. A API depende da arquitetura COM onde você recupera objetos proxy COM em seu aplicativo.
Para trabalhar com documentos do Microsoft Excel, você precisa de ExcelApi.dll com OfficeApi.ddl, VBIDEApi.dll e NetOffice.dll como dependências. Todos os aplicativos do Office usam tipos definidos em outros componentes/bibliotecas de tipos. Essas bibliotecas de tipos dependentes são, portanto, fornecidas como um assembly independente. Cada assembly também requer o assembly NetOffice.dll.
Introdução ao NetOffice
Em primeiro lugar, você precisa ter o .NET Framework 4.5 ou superior. Depois disso, faça o download do repositório manualmente do GitHub ou instale-o do NuGet.
Instalação do NetOffice do NuGet
Install-Package NetOfficeFw.Excel
Adicionar formas no Excel usando a API C# gratuita
O NetOffice permite que programadores .NET adicionem formas em planilhas do Microsoft Excel programaticamente. Para adicionar formas no arquivo do Excel primeiro, você precisa inicializar um Excel.Application e desativar as caixas de mensagem. Depois que seu aplicativo Excel for iniciado, você poderá adicionar um novo documento a ele usando o método ExcelApplication.Workbooks.Add(). Você pode inserir texto em seu arquivo Excel recém-criado usando a propriedade workSheet.Cells[1, 1].Value e adicionar forma no arquivo usando o método WorkSheet.Shapes.AddShape(MsoAutoShapeType.msoShape32pointStar, 10, 50, 200, 20).
Insira formas para o arquivo de planilha do Excel via C
// start excel and turn off msg boxes
Excel.Application excelApplication = new Excel.Application();
excelApplication.DisplayAlerts = false;
// create a utils instance, not need for but helpful to keep the lines of code low
CommonUtils utils = new CommonUtils(excelApplication);
// add a new workbook
Excel.Workbook workBook = excelApplication.Workbooks.Add();
Excel.Worksheet workSheet = (Excel.Worksheet)workBook.Worksheets[1];
workSheet.Cells[1, 1].Value = "NetOffice Excel Example 04";
// create a star
Excel.Shape starShape = workSheet.Shapes.AddShape(MsoAutoShapeType.msoShape32pointStar, 10, 50, 200, 20);
// create a simple textbox
Excel.Shape textBox = workSheet.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, 10, 150, 200, 50);
textBox.TextFrame.Characters().Text = "text";
textBox.TextFrame.Characters().Font.Size = 14;
// create a wordart
Excel.Shape textEffect = workSheet.Shapes.AddTextEffect(MsoPresetTextEffect.msoTextEffect14, "WordArt", "Arial", 12,
MsoTriState.msoTrue, MsoTriState.msoFalse, 10, 250);
// save the book
string workbookFile = utils.File.Combine(HostApplication.RootDirectory, "Example04", DocumentFormat.Normal);
workBook.SaveAs(workbookFile);
// close excel and dispose reference
excelApplication.Quit();
excelApplication.Dispose();
/ show end dialog
HostApplication.ShowFinishDialog(null, workbookFile);
Criar um gráfico no Excel usando C#
O NetOffice permite que os programadores .NET adicionem gráficos no arquivo do Microsoft Excel programaticamente. Para adicionar gráficos no arquivo Excel; primeiro, você precisa inicializar um Excel.Application e desativar as caixas de mensagem e adicionar uma nova planilha usando o método xcelApplication.Workbooks.Add(). Você pode inserir gráficos em seu arquivo Excel recém-criado inicializando Excel.ChartObject e definindo-o usando o método ((Excel.ChartObjects)workSheet.ChartObjects()).Add(70, 100, 375, 225) Você pode definir a fonte de dados de seu gráfico recém-criado usando o método Chart.SetSourceData()
Adicionar Gráfico para planilha do Excel via C API
// start excel and turn off msg boxes
Excel.Application excelApplication = new Excel.Application();
excelApplication.DisplayAlerts = false;
// create a utils instance, no need for but helpful to keep the lines of code low
CommonUtils utils = new CommonUtils(excelApplication);
// add a new workbook
Excel.Workbook workBook = excelApplication.Workbooks.Add();
Excel.Worksheet workSheet = (Excel.Worksheet)workBook.Worksheets[1];
// we need some data to display
Excel.Range dataRange = PutSampleData(workSheet);
// create a nice diagram
Excel.ChartObject chart = ((Excel.ChartObjects)workSheet.ChartObjects()).Add(70, 100, 375, 225);
chart.Chart.SetSourceData(dataRange);
// save the book
string workbookFile = utils.File.Combine(HostApplication.RootDirectory, "Example05", DocumentFormat.Normal);
workBook.SaveAs(workbookFile);
// close excel and dispose reference
excelApplication.Quit();
excelApplication.Dispose();
// show end dialog
HostApplication.ShowFinishDialog(null, workbookFile);