1. produkty
  2.   Tabulka
  3.   .NET
  4.   NPOI
 
  

Bezplatná knihovna .NET pro tabulky Excel®

Číst, zapisovat, manipulovat a převádět soubory XLS a XLSX prostřednictvím knihovny .NET s otevřeným zdrojovým kódem.

Co je NPOI?

NPOI je .NET verze projektu POI Java. Jedná se o open source knihovnu .NET pro čtení a zápis formátů souborů Microsoft Excel. Jmenný prostor NPOI.HSSF poskytuje možnost manipulovat s formátem souboru XLS, zatímco NPOI Jmenný prostor .XSSF vám umožňuje vytvářet a upravovat soubory 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ám umožňuje přidávat text, vkládat hypertextové odkazy, vytvářet a stylovat buňky a sloupce, vkládat obrázky a číst obsah ze stávajících souborů XLS a XLSX bez jakékoli externí závislosti.

Previous Next

Jak nainstalovat NPOI?

Nainstalujte NPOI z NuGet

 Install-Package NPOI -Version 2.4.1

Manipulujte se souborem XLSX přes C#

NPOI umožňuje programátorům .NET vytvářet a upravovat tabulky z jejich vlastních aplikací .NET. Chcete-li upravit existující soubor, můžete soubor načíst a aktualizovat text, tabulky, styly a další.

Upravit XLSX pomocí 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();

Převeďte XLS na XLSX s NPOI

Chcete-li uložit soubor XLS jako XLSX poté, co jste jej otevřeli a upravili pomocí NPOI, postupujte podle kroků.

  1. Vytvořte nový XSSFWorkbook
  2. Vytvořte vhodný XSSFheet pro každý list XLS
  3. Zkopírujte data z listu XLS do listu XLSX
  4. Zkopírujte formátování z listu XLS do listu XLSX
  5. Uložte sešit ve formátu XLSX

Převést XLS na XLSX pomocí 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);
}

Přidat obrázek do XLSX přes C#

API umožňuje vývojářům přidávat obrázky do tabulkových dokumentů. Můžete přidat obrázek a nastavit vlastnosti obrázku. Rozhraní API umožňuje snadnou manipulaci s obrázky ve formátu XLSX různými metodami. IClientAnchor umožňuje nastavit horní, dolní, levé a pravé umístění obrázku uvnitř listu.

Vytvořit tabulku pomocí 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();
 Čeština