Gratis .NET Library untuk Excel® Spreadsheets
Baca, tulis, manipulasi & konversi file XLS & XLSX melalui perpustakaan .NET sumber terbuka.
Apa itu NPOI?
NPOI adalah versi .NET dari proyek Java POI. Ini adalah perpustakaan .NET open source untuk membaca dan menulis format file Microsoft Excel. Namespace NPOI.HSSF menyediakan kemampuan untuk memanipulasi format file XLS, sementara NPOI Namespace .XSSF memungkinkan Anda membuat & memodifikasi file 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 memungkinkan Anda untuk menambahkan teks, menyisipkan hyperlink, membuat & gaya sel & kolom, menyisipkan gambar dan membaca konten dari file XLS & XLSX yang ada tanpa ketergantungan eksternal.
Bagaimana Cara Menginstal NPOI?
Instal NPOI dari NuGet
Install-Package NPOI -Version 2.4.1
Memanipulasi File XLSX melalui C#
NPOI memungkinkan pemrogram .NET untuk membuat serta memodifikasi spreadsheet dari aplikasi .NET mereka sendiri. Untuk memodifikasi file yang ada, Anda dapat memuat file dan memperbarui teks, tabel, gaya, dan lainnya.
Edit XLSX dengan 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();
Konversi XLS ke XLSX dengan NPOI
Ikuti langkah-langkah untuk menyimpan file XLS sebagai XLSX setelah Anda membuka dan memodifikasinya menggunakan NPOI.
- Buat Buku Kerja XSSF baru
- Buat XSSFSheet yang sesuai untuk setiap lembar kerja XLS
- Salin data dari lembar kerja XLS ke lembar kerja XLSX
- Salin pemformatan dari lembar kerja XLS ke lembar kerja XLSX
- Simpan buku kerja dalam format XLSX
Konversi XLS ke XLSX dengan 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);
}
Tambahkan Gambar ke XLSX melalui C#
API memungkinkan pengembang untuk menambahkan gambar dalam dokumen spreadsheet. Anda dapat menambahkan gambar dan mengatur properti gambar. API memungkinkan berbagai metode untuk memanipulasi gambar dalam format file XLSX dengan mudah. IClientAnchor memungkinkan Anda untuk mengatur posisi atas, bawah, kiri, dan kanan gambar di dalam lembar kerja.
Buat Tabel dengan 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();