Kostenlose .NET-Bibliothek für Excel®-Tabellen

Lesen, schreiben, manipulieren und konvertieren Sie XLS- und XLSX-Dateien über die Open-Source-.NET-Bibliothek.

Was ist NPOI?

NPOI ist eine .NET-Version des POI-Java-Projekts. Es ist eine Open-Source-.NET-Bibliothek zum Lesen und Schreiben von Microsoft Excel-Dateiformaten. Der Namespace NPOI.HSSF bietet die Möglichkeit, das Dateiformat XLS zu manipulieren, während NPOI Mit dem .XSSF-Namespace können Sie XLSX-Dateien erstellen und ändern.

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.

Mit NPOI können Sie Text hinzufügen, Hyperlinks einfügen, Zellen und Spalten erstellen und formatieren, Bilder einfügen und Inhalte aus vorhandenen XLS- und XLSX-Dateien ohne externe Abhängigkeit lesen.

Previous Next

Wie installiere ich NPOI?

Installieren Sie NPOI von NuGet

 Install-Package NPOI -Version 2.4.1

XLSX-Datei über C# manipulieren

NPOI ermöglicht .NET-Programmierern, Tabellenkalkulationen aus ihren eigenen .NET-Anwendungen zu erstellen und zu modifizieren. Um eine vorhandene Datei zu ändern, können Sie die Datei laden und Text, Tabellen, Stile und mehr aktualisieren.

XLSX mit NPOI bearbeiten – 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();

Konvertieren Sie XLS in XLSX mit NPOI

Befolgen Sie die Schritte, um die XLS-Datei als XLSX zu speichern, nachdem Sie sie mit NPOI geöffnet und geändert haben.

  1. Erstellen Sie eine neue XSSFWorkbook
  2. Erstellen Sie für jedes XLS-Arbeitsblatt ein geeignetes XSSFSheet
  3. Kopieren Sie Daten aus dem XLS-Arbeitsblatt in das XLSX-Arbeitsblatt
  4. Kopieren Sie die Formatierung aus dem XLS-Arbeitsblatt in das XLSX-Arbeitsblatt
  5. Arbeitsmappe im XLSX-Format speichern

Konvertieren Sie XLS in XLSX mit 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);
}

Bild zu XLSX über C# hinzufügen

Die API ermöglicht es den Entwicklern, Bilder in Tabellenkalkulationsdokumente einzufügen. Sie können ein Bild hinzufügen und Bildeigenschaften festlegen. Die API ermöglicht verschiedene Methoden zur einfachen Bearbeitung von Bildern im XLSX-Dateiformat. Mit IClientAnchor können Sie die obere, untere, linke und rechte Positionierung des Bildes innerhalb des Arbeitsblatts festlegen.

Tabelle mit XSSF NPOI erstellen – 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();
 Deutsch