Biblioteca .NET gratuita para crear documentos de procesamiento de texto
Lea, escriba, manipule y convierta archivos de Word a través de la API .NET de código abierto.
NetOffice es una API de código abierto que permite a los desarrolladores de .NET automatizar Microsoft Office y desarrollar complementos de Microsoft Office. Con la API, el desarrollador puede usar todas las funciones 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 y tiene que liberar cada objeto proxy COM. La principal ventaja de utilizar NetOffice es la capacidad de trabajar con una versión diferente de Microsoft Office al mismo tiempo y ofrece un mecanismo de protección para la gestión de proxies COM.
Con la API, puede desarrollar una aplicación para sistemas operativos de 32 y 64 bits. Puede utilizar los ensamblados de NetOffice en todos los escenarios sin preocupaciones. La API proporciona un montón de bibliotecas para manipular documentos de oficina. Para trabajar con documentos de Microsoft Word, necesita WordApi.dll con OfficeApi.ddl, VBIDEApi.dll y NetOffice.dll como dependencias.
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.Word
Cree un documento de Word usando la API gratuita de C#
NetOffice permite a los programadores de .NET crear archivos de Microsoft Word mediante programación. Para crear un archivo de Word, primero debe inicializar una aplicación de Word y desactivar los cuadros de mensaje. Después de iniciar su aplicación de Word, puede agregarle un nuevo documento utilizando el método WordApplicaiton.Documents.Add(). Puede insertar texto en su archivo de Word recién creado usando el método WrodApplication.Selection.TypeText() y establecer la fuente usando el método WordApplicaiton.Selection.Font(). Una vez que haya terminado con su documento, puede guardarlo usando el método Document.SaveAs().
Crear documento de Word a través de la biblioteca de NetOffice
// start word and turn off msg boxes
Word.Application wordApplication = new Word.Application();
wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone;
// create a utils instance, no need for but helpful to keep the lines of code low
CommonUtils utils = new CommonUtils(wordApplication);
// add a new document
Word.Document newDocument = wordApplication.Documents.Add();
// insert some text
wordApplication.Selection.TypeText("This text is written by automation");
wordApplication.Selection.HomeKey(WdUnits.wdLine, WdMovementType.wdExtend);
wordApplication.Selection.Font.Color = WdColor.wdColorSeaGreen;
wordApplication.Selection.Font.Bold = 1;
wordApplication.Selection.Font.Size = 18;
// save the document
string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example01", DocumentFormat.Normal);
newDocument.SaveAs(documentFile);
// close word and dispose reference
wordApplication.Quit();
wordApplication.Dispose();
// show end dialog
HostApplication.ShowFinishDialog(null, documentFile);
Crear una tabla en Word usando C#
NetOffice permite a los programadores de .NET agregar tablas en archivos de Microsoft Word mediante programación. Para agregar tablas en un archivo de Word primero, debe inicializar una aplicación de Word y desactivar los cuadros de mensaje y agregar nuevos documentos usando el método WordApplicaiton.Documents.Add(). Puede insertar una tabla en su archivo de Word recién creado inicializando Word.Table y establecer el rango de la tabla usando el método Tables.Add(wordApplication.Selection.Range, 3, 2). Puede insertar texto en sus celdas seleccionando una celda específica usando table.Cell(1, 1).Select() e inserte texto en ella. Una vez que haya terminado con su documento, puede guardarlo usando el método Document.SaveAs().
Crear tabla en archivo de Word a través de .NET
Word.Application wordApplication = new Word.Application();
wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone;
// create a utils instance, not need for but helpful to keep the lines of code low
CommonUtils utils = new CommonUtils(wordApplication);
// add a new document
Word.Document newDocument = wordApplication.Documents.Add();
// add a table
Word.Table table = newDocument.Tables.Add(wordApplication.Selection.Range, 3, 2);
// insert some text into the cells
table.Cell(1, 1).Select();
wordApplication.Selection.TypeText("This");
table.Cell(1, 2).Select();
wordApplication.Selection.TypeText("table");
table.Cell(2, 1).Select();
wordApplication.Selection.TypeText("was");
table.Cell(2, 2).Select();
wordApplication.Selection.TypeText("created");
table.Cell(3, 1).Select();
wordApplication.Selection.TypeText("by");
table.Cell(3, 2).Select();
wordApplication.Selection.TypeText("NetOffice");
// save the document
string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example02", DocumentFormat.Normal);
newDocument.SaveAs(documentFile);
// close word and dispose reference
wordApplication.Quit();
wordApplication.Dispose();
// show end dialog
HostApplication.ShowFinishDialog(null, documentFile);