Ingyenes .NET Library for Excel® táblázatok
Olvassa, írjon, kezeljen és konvertáljon XLS és XLSX fájlokat nyílt forráskódú .NET könyvtáron keresztül.
Mi az NPOI?
Az NPOI a POI Java projekt .NET verziója. Ez egy nyílt forráskódú .NET-könyvtár Microsoft Excel fájlformátumok olvasására és írására. Az NPOI.HSSF névtér lehetővé teszi az XLS fájlformátum kezelését, míg az NPOI Az .XSSF névtér lehetővé teszi XLSX fájlok létrehozását és módosítását.
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.
Az NPOI lehetővé teszi szöveg hozzáadását, hiperhivatkozások beszúrását, cellák és oszlopok létrehozását és stílusát, képek beszúrását és tartalom olvasását meglévő XLS és XLSX fájlokból külső függőség nélkül.
Hogyan telepítsem az NPOI-t?
Telepítse az NPOI-t a NuGetből
Install-Package NPOI -Version 2.4.1
XLSX-fájl kezelése C#-on keresztül
Az NPOI lehetővé teszi a .NET programozók számára, hogy táblázatokat hozzanak létre és módosítsanak saját .NET-alkalmazásaikból. Meglévő fájl módosításához betöltheti a fájlt, és frissítheti a szöveget, a táblázatokat, a stílusokat és egyebeket.
XLSX szerkesztése NPOI-val - 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();
Konvertálja az XLS-t XLSX-re NPOI-val
Kövesse a lépéseket az XLS-fájl XLSX-ként való mentéséhez, miután megnyitotta és módosította az NPOI használatával.
- Új XSSFWorkbook létrehozása
- Hozzon létre megfelelő XSSFS-lapot az XLS minden munkalapjához
- Adatok másolása XLS-munkalapról XLSX-munkalapra
- Formázás másolása XLS-munkalapról XLSX-munkalapra
- Mentse a munkafüzetet XLSX formátumban
Konvertálja az XLS-t XLSX-be NPOI-val - 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);
}
Kép hozzáadása az XLSX-hez C#-on keresztül
Az API lehetővé teszi a fejlesztők számára, hogy képeket adjanak hozzá táblázatos dokumentumokhoz. Képet adhat hozzá, és beállíthatja a kép tulajdonságait. Az API különféle módszereket tesz lehetővé XLSX fájlformátumú képek egyszerű manipulálására. Az IClientAnchor lehetővé teszi a kép felső, alsó, bal és jobb oldali elhelyezésének beállítását a munkalapon belül.
Táblázat létrehozása XSSF NPOI-val - 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();