Δωρεάν .NET Library για υπολογιστικά φύλλα Excel®

Διαβάστε, γράψτε, χειριστείτε και μετατρέψτε αρχεία XLS & XLSX μέσω βιβλιοθήκης .NET ανοιχτού κώδικα.

Τι είναι το NPOI;

Το NPOI είναι μια έκδοση .NET του έργου POI Java. Είναι μια βιβλιοθήκη ανοιχτού κώδικα .NET για ανάγνωση και εγγραφή μορφών αρχείων Microsoft Excel. Ο χώρος ονομάτων NPOI.HSSF παρέχει τη δυνατότητα χειρισμού της μορφής αρχείου XLS, ενώ το NPOI Ο χώρος ονομάτων .XSSF σάς επιτρέπει να δημιουργείτε και να τροποποιείτε αρχεία 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 σάς επιτρέπει να προσθέτετε κείμενο, να εισάγετε υπερσυνδέσμους, να δημιουργείτε και να διαμορφώνετε κελιά και στήλες, να εισάγετε εικόνες και να διαβάζετε περιεχόμενο από υπάρχοντα αρχεία XLS & XLSX χωρίς καμία εξωτερική εξάρτηση.

Previous Next

Πώς να εγκαταστήσετε NPOI;

Εγκαταστήστε το NPOI από το NuGet

 Install-Package NPOI -Version 2.4.1

Χειρισμός αρχείου XLSX μέσω C#

Το NPOI επιτρέπει στους προγραμματιστές .NET να δημιουργούν καθώς και να τροποποιούν υπολογιστικά φύλλα από τις δικές τους εφαρμογές .NET. Για να τροποποιήσετε ένα υπάρχον αρχείο, μπορείτε να φορτώσετε το αρχείο και να ενημερώσετε κείμενο, πίνακες, στυλ και άλλα.

Επεξεργασία XLSX με 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();

Μετατρέψτε το XLS σε XLSX με NPOI

Ακολουθήστε τα βήματα για να αποθηκεύσετε το αρχείο XLS ως XLSX αφού το ανοίξετε και τροποποιήσετε χρησιμοποιώντας NPOI.

  1. Δημιουργήστε νέο XSSFWorkbook
  2. Δημιουργήστε το κατάλληλο XSSFSheet για κάθε φύλλο εργασίας του XLS
  3. Αντιγράψτε δεδομένα από το φύλλο εργασίας XLS στο φύλλο εργασίας XLSX
  4. Αντιγραφή μορφοποίησης από φύλλο εργασίας XLS σε φύλλο εργασίας XLSX
  5. Αποθήκευση βιβλίου εργασίας σε μορφή XLSX

Μετατροπή XLS σε XLSX με 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);
}

Προσθήκη εικόνας στο XLSX μέσω C#

Το API επιτρέπει στους προγραμματιστές να προσθέτουν εικόνες σε έγγραφα υπολογιστικού φύλλου. Μπορείτε να προσθέσετε μια εικόνα και να ορίσετε ιδιότητες εικόνας. Το API επιτρέπει διάφορες μεθόδους για τον εύκολο χειρισμό εικόνων σε μορφή αρχείου XLSX. Το IClientAnchor σάς επιτρέπει να ορίσετε την επάνω, κάτω, αριστερή και δεξιά θέση της εικόνας μέσα στο φύλλο εργασίας.

Δημιουργία πίνακα με 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();
 Ελληνικά