Libreria .NET gratuita per fogli di calcolo Excel®

Leggi, scrivi, manipola e converti file XLS e XLSX tramite la libreria .NET open source.

Cos'è l'NPDI?

NPOI è una versione .NET del progetto POI Java. È una libreria .NET open source per leggere e scrivere formati di file Microsoft Excel. Lo spazio dei nomi NPOI.HSSF offre la possibilità di manipolare il formato di file XLS, mentre NPOI Lo spazio dei nomi .XSSF consente di creare e modificare file 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 ti consente di aggiungere testo, inserire collegamenti ipertestuali, creare e modellare celle e colonne, inserire immagini e leggere contenuti da file XLS e XLSX esistenti senza alcuna dipendenza esterna.

Previous Next

Come installare NPOI?

Installa NPOI da NuGet

 Install-Package NPOI -Version 2.4.1

Manipola file XLSX tramite C#

NPOI consente ai programmatori .NET di creare e modificare fogli di calcolo dalle proprie applicazioni .NET. Per modificare un file esistente, puoi caricare il file e aggiornare testo, tabelle, stili e altro.

Modifica 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();

Converti XLS in XLSX con NPOI

Segui i passaggi per salvare il file XLS come XLSX dopo averlo aperto e modificato utilizzando NPOI.

  1. Crea una nuova cartella di lavoro XSSF
  2. Crea XSSFSheet appropriato per ogni foglio di lavoro di XLS
  3. Copia i dati dal foglio di lavoro XLS al foglio di lavoro XLSX
  4. Copia la formattazione dal foglio di lavoro XLS al foglio di lavoro XLSX
  5. Salva la cartella di lavoro in formato XLSX

Converti XLS in 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);
}

Aggiungi immagine a XLSX tramite C#

L'API consente agli sviluppatori di aggiungere immagini nei fogli di calcolo. È possibile aggiungere un'immagine e impostare le proprietà dell'immagine. L'API consente vari metodi per manipolare facilmente le immagini in formato file XLSX. IClientAnchor consente di impostare il posizionamento superiore, inferiore, sinistro e destro dell'immagine all'interno del foglio di lavoro.

Crea tabella 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();
 Italiano