Biblioteca .NET gratuita para crear documentos de hojas de cálculo
Lea, escriba, manipule y convierta archivos de Excel a través de la API .NET de código abierto.
La API de NetOffice permite a los desarrolladores de .NET leer, escribir, manipular y convertir archivos de Excel a través de la API de .NET de código abierto. La API permite automatizar hojas de cálculo de Microsoft Excel y desarrollar complementos de Microsoft Excel. Con la API, el desarrollador utilizará todas las opciones incluidas en las versiones 2000, 2002, 2003, 2007, 2010, 2013 y 2016 de MS Office. La API se basa en la arquitectura COM donde recupera objetos proxy COM en su aplicación.
Para trabajar con documentos de Microsoft Excel, necesita ExcelApi.dll con OfficeApi.ddl, VBIDEApi.dll y NetOffice.dll como dependencias. Todas las aplicaciones de Office usan tipos que están definidos en otros componentes/bibliotecas de tipos. Por lo tanto, estas bibliotecas de tipos dependientes se proporcionan como un conjunto independiente. Cada ensamblado también requiere el ensamblado NetOffice.dll.
Primeros pasos con NetOffice
En primer lugar, debe tener .NET Framework 4.5 o superior. Después de eso, descargue el repositorio manualmente desde GitHub o instálelo desde NuGet.
Instalación de NetOffice desde NuGet
Install-Package NetOfficeFw.Excel
Agregue formas en Excel usando la API gratuita de C#
NetOffice permite a los programadores de .NET agregar formas en las hojas de cálculo de Microsoft Excel mediante programación. Para agregar formas en un archivo de Excel primero, debe inicializar una aplicación de Excel y desactivar los cuadros de mensaje. Después de iniciar su aplicación de Excel, puede agregarle un nuevo documento utilizando el método ExcelApplication.Workbooks.Add(). Puede insertar texto en su archivo de Excel recién creado usando la propiedad workSheet.Cells[1, 1].Value y agregar forma en el archivo usando el método WorkSheet.Shapes.AddShape(MsoAutoShapeType.msoShape32pointStar, 10, 50, 200, 20).
Insertar las hojas a Excel Spreadsheet File vía 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);
Crear un gráfico en Excel usando C#
NetOffice permite a los programadores de .NET agregar gráficos en archivos de Microsoft Excel mediante programación. Para agregar gráficos en un archivo de Excel; primero, debe inicializar una aplicación de Excel y desactivar los cuadros de mensaje y agregar una nueva hoja de trabajo utilizando el método xcelApplication.Workbooks.Add(). Puede insertar gráficos en su archivo de Excel recién creado inicializando Excel.ChartObject y configurarlo usando el método ((Excel.ChartObjects)workSheet.ChartObjects()).Add(70, 100, 375, 225) Puede configurar la fuente de datos de su gráfico recién creado usando el método Chart.SetSourceData()
Añadir Gráfico a Excel Hoja de trabajo vía 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);