Bibliotecă .NET gratuită pentru foi de calcul Excel®
Citiți, scrieți, manipulați și convertiți fișiere XLS și XLSX prin biblioteca .NET open-source.
Ce este NPOI?
NPOI este o versiune .NET a proiectului POI Java. Este o bibliotecă .NET open source pentru a citi și scrie formate de fișiere Microsoft Excel. Spațiul de nume NPOI.HSSF oferă posibilitatea de a manipula formatul de fișier XLS, în timp ce NPOI Spațiul de nume .XSSF vă permite să creați și să modificați fișiere 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 vă permite să adăugați text, să inserați hyperlinkuri, să creați și să stilați celule și coloane, să inserați imagini și să citiți conținut din fișierele XLS și XLSX existente fără nicio dependență externă.
Cum se instalează NPOI?
Instalați NPOI din NuGet
Install-Package NPOI -Version 2.4.1
Manipulați fișierul XLSX prin C#
NPOI permite programatorilor .NET să creeze și să modifice foi de calcul din propriile aplicații .NET. Pentru a modifica un fișier existent, puteți încărca fișierul și actualiza textul, tabelele, stilurile și multe altele.
Editați XLSX cu 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ți XLS în XLSX cu NPOI
Urmați pașii pentru a salva fișierul XLS ca XLSX după ce l-ați deschis și modificat folosind NPOI.
- Creați un nou XSSFWorkbook
- Creați XSSFSheat corespunzătoare pentru fiecare foaie de lucru XLS
- Copiați datele din foaia de lucru XLS în foaia de lucru XLSX
- Copiați formatarea din foaia de lucru XLS în foaia de lucru XLSX
- Salvați registrul de lucru în format XLSX
Convertiți XLS în XLSX cu 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);
}
Adăugați o imagine la XLSX prin C#
API-ul permite dezvoltatorilor să adauge imagini în documentele foilor de calcul. Puteți adăuga o imagine și puteți seta proprietățile imaginii. API-ul permite diverse metode de a manipula cu ușurință imaginile în format de fișier XLSX. IClientAnchor vă permite să setați poziționarea de sus, jos, stânga și dreapta a imaginii în interiorul foii de lucru.
Creați tabel cu 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();