NPOI es una API .NET de código abierto para desarrollar aplicaciones para funcionar con hojas de cálculo. Está disponible de forma gratuita y puede usarlo en sus proyectos .NET. NPOI es simple, fácil de usar y se puede configurar fácilmente para comenzar a trabajar con hojas de cálculo de Excel. En este artículo, exploraremos trabajar con la API NPOI para crear, leer y guardar archivos Excel XLSX, aunque puede funcionar con el formato de archivo XLS de la misma manera. Este artículo contiene detalles sobre la instalación de la API NPOI, la configuración del entorno de desarrollo y trabajando con hojas de cálculo utilizando NPOI.

  1. Guía de instalación para la API NPOI: El primer paso para usar la API NPOI es instalar el paquete. Puede instalar NPOI descargando el paquete desde el sitio web oficial o utilizando Nuget Package Manager en Visual Studio. Una vez que se instala el paquete, puede comenzar a usarlo en su proyecto. Consulte esta Guía de instalación de NPOI como referencia.
  2. Configuración del entorno de desarrollo: Para usar la API NPOI, debe tener el entorno de desarrollo listo para trabajar con él. Puede instalar Visual Studio en su máquina para este propósito.
  3. Creación de una nueva hoja de cálculo con API NPOI: Ahora que su entorno está configurado, puede comenzar a trabajar con la API en su proyecto incluyendo una referencia a sus DLL.

trabajando con hojas de cálculo

Muy bien, ahora que tiene configurado NPOI, comencemos con el uso de la API NPOI para trabajar con archivos XLSX. Específicamente, seremos:

  • Crear una nueva hoja de cálculo con NPOI en C#
  • Lectura de datos de un archivo XLSX con NPOI
  • Guardar una hoja de cálculo de Excel como XLSX usando NPOI

Cree una nueva hoja de cálculo con NPOI en C#

El siguiente fragmento de código demuestra cómo crear una nueva hoja de cálculo con una sola hoja de trabajo:

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

// create a new workbook
IWorkbook wb = new XSSFWorkbook();

// create a new worksheet
ISheet ws = wb.CreateSheet("Sheet1");

// create a new row
IRow row = ws.CreateRow(0);

// create a new cell and set its value
ICell cell = row.CreateCell(0);
cell.SetCellValue("Hello World!");

// save the workbook
using (var fileStream = new FileStream("myWorkbook.xlsx", FileMode.Create, FileAccess.Write))
{
    wb.Write(fileStream);
}

Lectura de datos de hojas de cálculo utilizando la API NPOI

Una de las tareas más comunes cuando se trabaja con hojas de cálculo es leer datos de ellas. La API NPOI proporciona varias formas de leer datos de hojas de cálculo. El siguiente fragmento de código demuestra cómo leer datos de una celda en una hoja de cálculo:

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

// load an existing workbook
IWorkbook wb = new XSSFWorkbook("myWorkbook.xlsx");

// get the first worksheet
ISheet ws = wb.GetSheetAt(0);

// get the first row
IRow row = ws.GetRow(0);

// get the first cell
ICell cell = row.GetCell(0);

// get the cell value
string cellValue = cell.StringCellValue;

Escribir datos en hojas de cálculo utilizando la API NPOI

Otra tarea común cuando se trabaja con hojas de cálculo es escribirles datos. La API NPOI proporciona varias formas de escribir datos a hojas de cálculo. El siguiente fragmento de código demuestra cómo escribir datos en una celda en una hoja de cálculo:

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

// load an existing workbook
IWorkbook wb = new XSSFWorkbook("myWorkbook.xlsx");

// get the first worksheet
ISheet ws = wb.GetSheetAt(0);

// get the first row
IRow row = ws.GetRow(0);

// get the first cell
ICell cell = row.CreateCell(1);

// set the cell value
cell.SetCellValue("World!");

// save the workbook
using (var fileStream = new FileStream("myWorkbook.xlsx", FileMode.Create, FileAccess.Write))
{
    wb.Write(fileStream);
}

En el ejemplo anterior, cargamos un libro de trabajo existente y recuperamos la primera hoja de trabajo. Luego recuperamos la primera fila y creamos una nueva celda en el índice de columna 1. Luego establecemos el valor de la celda y guardamos el libro de trabajo.

Actualización de hojas de cálculo existentes usando la API NPOI

La API NPOI también proporciona varias formas de actualizar las hojas de cálculo existentes. El siguiente fragmento de código demuestra cómo actualizar el valor de una celda en una hoja de cálculo.

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

// load an existing workbook
IWorkbook wb = new XSSFWorkbook("myWorkbook.xlsx");

// get the first worksheet
ISheet ws = wb.GetSheetAt(0);

// get the first row
IRow row = ws.GetRow(0);

// get the first cell
ICell cell = row.GetCell(0);

// set the cell value
cell.SetCellValue("Hello NPOI!");

// save the workbook
using (var fileStream = new FileStream("myWorkbook.xlsx", FileMode.Create, FileAccess.Write))
{
    wb.Write(fileStream);
}

En el ejemplo anterior, cargamos un libro de trabajo existente y recuperamos la primera hoja de trabajo. Luego recuperamos la primera fila y la primera celda y actualizamos el valor de la celda. Finalmente, guardamos el libro de trabajo.

Más ejemplos NPOI para trabajar con hojas de cálculo