Gratis .NET-bibliotheek voor Excel®-spreadsheets

Lees, schrijf, manipuleer en converteer XLS- en XLSX-bestanden via de open-source .NET-bibliotheek.

Wat is NPOI?

NPOI is een .NET-versie van het POI Java-project. Het is een open source .NET-bibliotheek om Microsoft Excel-bestandsindelingen te lezen en te schrijven. NPOI.HSSF naamruimte biedt de mogelijkheid om XLS bestandsformaat te manipuleren, terwijl NPOI Met de .XSSF-naamruimte kunt u XLSX-bestanden maken en wijzigen.

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.

Met NPOI kunt u tekst toevoegen, hyperlinks invoegen, cellen en kolommen maken en stijlen, afbeeldingen invoegen en inhoud van bestaande XLS- en XLSX-bestanden lezen zonder enige externe afhankelijkheid.

Previous Next

Hoe NPOI installeren?

Installeer NPOI van NuGet

 Install-Package NPOI -Version 2.4.1

Manipuleer XLSX-bestand via C #

Met NPOI kunnen .NET-programmeurs spreadsheets maken en wijzigen vanuit hun eigen .NET-applicaties. Om een bestaand bestand te wijzigen, kunt u het bestand laden en tekst, tabellen, stijlen en meer bijwerken.

Bewerk XLSX met 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();

Converteer XLS naar XLSX met NPOI

Volg de stappen om het XLS-bestand op te slaan als XLSX nadat u het hebt geopend en gewijzigd met NPOI.

  1. Nieuw XSSF-werkboek maken
  2. Maak de juiste XSSFSheet voor elk werkblad van XLS
  3. Gegevens kopiëren van XLS-werkblad naar XLSX-werkblad
  4. Opmaak kopiëren van XLS-werkblad naar XLSX-werkblad
  5. Werkmap opslaan in XLSX-indeling

Converteer XLS naar XLSX met 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);
}

Afbeelding toevoegen aan XLSX via C#

Met de API kunnen de ontwikkelaars afbeeldingen toevoegen aan spreadsheetdocumenten. U kunt een afbeelding toevoegen en afbeeldingseigenschappen instellen. De API biedt verschillende methoden om afbeeldingen in XLSX-bestandsindeling eenvoudig te manipuleren. Met IClientAnchor kunt u de boven-, onder-, linker- en rechterpositionering van de afbeelding in het werkblad instellen.

Tabel maken met 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();
 Dutch