ฟรี .NET Library สำหรับ Excel® สเปรดชีต

อ่าน เขียน จัดการ และแปลงไฟล์ XLS & XLSX ผ่านไลบรารี .NET แบบโอเพ่นซอร์ส

NPOI คืออะไร?

NPOI เป็นโปรเจ็กต์ POI Java เวอร์ชัน .NET เป็นไลบรารี .NET แบบโอเพ่นซอร์สสำหรับอ่านและเขียนรูปแบบไฟล์ Microsoft Excel เนมสเปซ NPOI.HSSF ให้ความสามารถในการจัดการรูปแบบไฟล์ XLS ในขณะที่ NPOI เนมสเปซ .XSSF ช่วยให้คุณสร้างและแก้ไขไฟล์ 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 ให้คุณเพิ่มข้อความ แทรกไฮเปอร์ลิงก์ สร้าง & จัดสไตล์เซลล์ & คอลัมน์ แทรกรูปภาพและอ่านเนื้อหาจากไฟล์ XLS & XLSX ที่มีอยู่โดยไม่ต้องพึ่งพาภายนอก

Previous Next

จะติดตั้ง NPOI ได้อย่างไร?

ติดตั้ง NPOI จาก NuGet

 Install-Package NPOI -Version 2.4.1

จัดการไฟล์ XLSX ผ่าน C #

NPOI ช่วยให้โปรแกรมเมอร์ .NET สร้างและแก้ไขสเปรดชีตจากแอปพลิเคชัน .NET ของตนเองได้ ในการแก้ไขไฟล์ที่มีอยู่ คุณสามารถโหลดไฟล์และอัปเดตข้อความ ตาราง สไตล์ และอื่นๆ

แก้ไข XLSX ด้วย 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();

แปลง XLS เป็น XLSX ด้วย NPOI

ทำตามขั้นตอนเพื่อบันทึกไฟล์ XLS เป็น XLSX หลังจากที่คุณเปิดและแก้ไขโดยใช้ NPOI

  1. สร้าง XSSFWorkbook ใหม่
  2. สร้าง XSSFSheet ที่เหมาะสมสำหรับแต่ละเวิร์กชีตของ XLS
  3. คัดลอกข้อมูลจากแผ่นงาน XLS ไปยังแผ่นงาน XLSX
  4. คัดลอกการจัดรูปแบบจากแผ่นงาน XLS ไปยังแผ่นงาน XLSX
  5. บันทึกเวิร์กบุ๊กในรูปแบบ XLSX

แปลง XLS เป็น XLSX ด้วย 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);
}

เพิ่มรูปภาพใน XLSX ผ่าน C #

API ช่วยให้นักพัฒนาสามารถเพิ่มรูปภาพในเอกสารสเปรดชีต คุณสามารถเพิ่มรูปภาพและตั้งค่าคุณสมบัติของรูปภาพได้ API อนุญาตให้ใช้วิธีการต่างๆ ในการจัดการรูปภาพในรูปแบบไฟล์ XLSX ได้อย่างง่ายดาย IClientAnchor ช่วยให้คุณสามารถตั้งค่าตำแหน่งด้านบน ด้านล่าง ด้านซ้าย และด้านขวาของรูปภาพภายในเวิร์กชีต

สร้างตารางด้วย 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();
 ไทย