Thư viện .NET miễn phí cho Bảng tính Excel ®
Đọc, ghi, thao tác và chuyển đổi các tệp XLS & XLSX thông qua thư viện .NET mã nguồn mở.
NPOI là gì?
NPOI là một phiên bản .NET của dự án POI Java. Nó là một thư viện .NET mã nguồn mở để đọc và ghi các định dạng tệp Microsoft Excel. Không gian tên NPOI.HSSF cung cấp khả năng thao tác với định dạng tệp XLS , trong khi NPOI Không gian tên .XSSF cho phép bạn tạo và sửa đổi các tệp 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 cho phép bạn thêm văn bản, chèn siêu liên kết, tạo & tạo kiểu ô & cột, chèn hình ảnh và đọc nội dung từ các tệp XLS & XLSX hiện có mà không cần bất kỳ sự phụ thuộc nào từ bên ngoài.
Làm thế nào để cài đặt NPOI?
Cài đặt NPOI từ NuGet
Install-Package NPOI -Version 2.4.1
Thao tác với tệp XLSX qua C #
NPOI cho phép các lập trình viên .NET tạo cũng như sửa đổi bảng tính từ các ứng dụng .NET của riêng họ. Để sửa đổi tệp hiện có, bạn có thể tải tệp và cập nhật văn bản, bảng, kiểu và hơn thế nữa.
Chỉnh sửa XLSX với 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();
Chuyển đổi XLS sang XLSX với NPOI
Làm theo các bước để lưu tệp XLS dưới dạng XLSX sau khi bạn mở và sửa đổi nó bằng NPOI.
- Tạo XSSFWorkbook mới
- Tạo XSSFSheet thích hợp cho mỗi trang tính của XLS
- Sao chép dữ liệu từ trang tính XLS sang trang tính XLSX
- Sao chép định dạng từ trang tính XLS sang trang tính XLSX
- Lưu sổ làm việc ở định dạng XLSX
Chuyển đổi XLS sang XLSX với 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);
}
Thêm hình ảnh vào XLSX qua C #
API cho phép các nhà phát triển thêm hình ảnh vào tài liệu bảng tính. Bạn có thể thêm hình ảnh và đặt thuộc tính hình ảnh. API cho phép các phương pháp khác nhau để thao tác hình ảnh ở định dạng tệp XLSX một cách dễ dàng. IClientAnchor cho phép bạn đặt vị trí trên cùng, dưới cùng, trái và phải của hình ảnh bên trong trang tính.
Tạo bảng với 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();