Biblioteca .NET gratuita para hojas de cálculo Excel®

Lea, escriba, manipule y convierta archivos XLS y XLSX a través de la biblioteca .NET de código abierto.

¿Qué es NPOI?

NPOI es una versión .NET del proyecto POI Java. Es una biblioteca .NET de código abierto para leer y escribir formatos de archivo de Microsoft Excel. El espacio de nombres NPOI.HSSF brinda la capacidad de manipular el formato de archivo XLS, mientras que NPOI El espacio de nombres .XSSF le permite crear y modificar archivos XLSX.

NPOI is a .NET version of POI Java project. It is an open source .NET library to read and write Microsoft Excel file formats. NPOI.HSSF namespace provides the ability to manipulate XLS file format, while NPOI.XSSF namespace allows you to create & modify XLSX files.

NPOI is a .NET version of POI Java project. It is an open source .NET library to read and write Microsoft Excel file formats. NPOI.HSSF namespace provides the ability to manipulate XLS file format, while NPOI.XSSF namespace allows you to create & modify XLSX files.

NPOI le permite agregar texto, insertar hipervínculos, crear y diseñar celdas y columnas, insertar imágenes y leer contenido de archivos XLS y XLSX existentes sin ninguna dependencia externa.

Previous Next

¿Cómo instalar NPOI?

Instalar NPOI desde NuGet

 Install-Package NPOI -Version 2.4.1

Manipular archivo XLSX a través de C#

NPOI permite a los programadores de .NET crear y modificar hojas de cálculo desde sus propias aplicaciones .NET. Para modificar un archivo existente, puede cargar el archivo y actualizar el texto, las tablas, los estilos y más.

Editar XLSX con NPOI - C#

IWorkbook wb = new XSSFWorkbook();
// Create a Worksheet
ISheet ws = wb.CreateSheet("FileFormat");
ICellStyle style = wb.CreateCellStyle();
//Setting the line of the top border
style.BorderTop = BorderStyle.Thick;
style.TopBorderColor = 256;
style.BorderLeft = BorderStyle.Thick;
style.LeftBorderColor = 256;
style.BorderRight = BorderStyle.Thick;
style.RightBorderColor = 256;
style.BorderBottom = BorderStyle.Thick;
style.BottomBorderColor = 256;
IRow row = ws.CreateRow(0);
ICell cell = row.CreateCell(1);
cell.CellStyle = style;
FileStream sw = File.Create("fileformat.xlsx");
wb.Write(sw);
sw.Close();

Convertir XLS a XLSX con NPOI

Siga los pasos para guardar el archivo XLS como XLSX después de abrirlo y modificarlo usando NPOI.

  1. Crear nuevo libro de trabajo XSSF
  2. Cree XSSFSheet apropiado para cada hoja de trabajo de XLS
  3. Copie datos de la hoja de trabajo XLS a la hoja de trabajo XLSX
  4. Copie el formato de la hoja de trabajo XLS a la hoja de trabajo XLSX
  5. Guardar libro de trabajo en formato XLSX

Convierta XLS a XLSX con NPOI - C#

HSSFWorkbook retVal = new HSSFWorkbook();
for (int i = 0; i < source.NumberOfSheets; i++)
{
	HSSFSheet hssfSheet = (HSSFSheet)retVal.CreateSheet(source.GetSheetAt(i).SheetName);
	XSSFSheet xssfsheet = (XSSFSheet)source.GetSheetAt(i);
	CopySheets(xssfsheet, hssfSheet, retVal);
}

Agregar imagen a XLSX a través de C#

La API permite a los desarrolladores agregar imágenes en documentos de hojas de cálculo. Puede agregar una imagen y establecer las propiedades de la imagen. La API permite varios métodos para manipular imágenes en formato de archivo XLSX fácilmente. IClientAnchor le permite configurar la posición superior, inferior, izquierda y derecha de la imagen dentro de la hoja de trabajo.

Crear tabla con XSSF NPOI - C#

IWorkbook wb = new XSSFWorkbook();
ISheet sheet1 = wb.CreateSheet("First Sheet");
// Add picture data to this workbook.
byte[] bytes = File.ReadAllBytes("fileformat.png");
int pictureIdx = wb.AddPicture(bytes, PictureType.PNG);
ICreationHelper helper = wb.GetCreationHelper();
// Create the drawing patriarch. This is the top level container for all shapes.
IDrawing drawing = sheet1.CreateDrawingPatriarch();
// add a picture shape
IClientAnchor anchor = helper.CreateClientAnchor();
// set top-left corner of the picture,
// subsequent call of Picture#resize() will operate relative to it
anchor.Col1 = 3;
anchor.Row1 = 2;
IPicture pict = drawing.CreatePicture(anchor, pictureIdx);
// auto-size picture relative to its top-left corner
pict.Resize();
FileStream sw = File.Create("image.xlsx");
wb.Write(sw);
sw.Close();
 Español