ในบทความนี้ คุณจะได้เรียนรู้วิธีสร้างไฟล์ Excel XLS/XLSX ใน C# โดยไม่ต้องติดตั้ง MS Office
ปัจจุบันสเปรดชีตได้กลายเป็นส่วนสำคัญในการเก็บรักษา จัดระเบียบ และวิเคราะห์ข้อมูล สเปรดชีต เช่น MS Excel สามารถคำนวณและจัดเรียงข้อมูล สร้างกราฟหรือแผนภูมิ สร้างงบประมาณ และทำงานด้านบัญชีหรือการวิเคราะห์ข้อมูลอื่นๆ อีกมากมาย เนื่องจากทุกวันนี้โซลูชันอัตโนมัติมีบทบาทในธุรกิจมากขึ้น แนวโน้มของการสร้างและจัดการเอกสาร Excel (XLS/XLSX) จึงเกิดขึ้นและเติบโตอย่างรวดเร็ว กรณีการใช้งานนี้ได้เพิ่มความจำเป็นในการมีโซลูชันการทำงานอัตโนมัติของ Excel
ตามสถานการณ์ที่กล่าวถึงข้างต้น บทความที่ครอบคลุมนี้มีจุดมุ่งหมายเพื่อแสดงคุณลักษณะพื้นฐานบางอย่างสำหรับการทำงานอัตโนมัติของ Excel ในแอปพลิเคชัน C# .NET
- C# API เพื่อสร้างไฟล์ Excel - ดาวน์โหลดฟรี
- สร้างไฟล์ Excel XLS หรือ XLSX ใน C#
- เขียนข้อมูลไปยังไฟล์ Excel ที่มีอยู่ใน C#
- สร้างแผนภูมิหรือกราฟในไฟล์ Excel ใน C#
- สร้างตารางในไฟล์ Excel ใน C#
C# API เพื่อสร้างไฟล์ Excel - ดาวน์โหลดฟรี
ในการทำงานกับเอกสาร Excel เราจะใช้ Aspose.Cells for .NET ซึ่งเป็น API ที่มีประสิทธิภาพในการสร้าง อ่าน และจัดการเอกสารสเปรดชีต รวมถึงไฟล์ XLS และ XLSX คุณสามารถ ดาวน์โหลด หรือติดตั้ง API โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้:
ใช้ NuGet Package Manager
การใช้คอนโซลผู้จัดการแพ็คเกจ
PM> Install-Package Aspose.Cells
สร้าง Excel XLS หรือ XLSX ใน C#
ไฟล์ Excel เรียกอีกอย่างว่าสมุดงานซึ่งประกอบด้วยแผ่นงานเดียวหรือหลายแผ่นที่มีแถวและคอลัมน์เพื่อเก็บข้อมูล ดังนั้น สมุดงานจึงทำหน้าที่เป็นคอนเทนเนอร์ของแผ่นงานในไฟล์ Excel ดังนั้นในการสร้างไฟล์ Excel คุณต้องสร้างสมุดงานก่อนแล้วจึงสร้างแผ่นงานภายในสมุดงานนั้น ต่อไปนี้เป็นขั้นตอนในการสร้างไฟล์ Excel โดยใช้ Aspose.Cells สำหรับ .NET
- สร้างอินสแตนซ์ของคลาส Workbook
- เข้าถึงแผ่นงานแรก (สร้างโดยค่าเริ่มต้น) ของสมุดงาน
- เข้าถึงเซลล์ที่ต้องการของแผ่นงานและใส่ค่าลงในเซลล์
- บันทึกสมุดงานเป็นไฟล์ XLS หรือ XLSX
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างไฟล์ Excel XLSX โดยใช้ C#
// สร้างอินสแตนซ์ของวัตถุสมุดงานที่แสดงถึงไฟล์ Excel
Workbook wb = new Workbook();
// เมื่อคุณสร้างสมุดงานใหม่ ค่าเริ่มต้น "Sheet1" จะถูกเพิ่มลงในสมุดงาน
Worksheet sheet = wb.Worksheets[0];
// เข้าถึงเซลล์ "A1" ในแผ่นงาน
Cell cell = sheet.Cells["A1"];
// ป้อน "Hello World!" ข้อความลงในเซลล์ "A1"
cell.PutValue("Hello World!");
// บันทึก Excel เป็นไฟล์ .xlsx
wb.Save("Excel.xlsx", SaveFormat.Xlsx);
เอาต์พุต
เขียนข้อมูลไปยังไฟล์ Excel XLSX ใน C#
ในกรณีที่คุณต้องการแก้ไขและเขียนข้อมูลลงในไฟล์ Excel ที่มีอยู่ คุณก็สามารถทำได้ในลักษณะเดียวกัน เพียงโหลดเอกสารสเปรดชีต Excel ต้นฉบับโดยใช้วัตถุสมุดงานและเข้าถึงแผ่นงานและเซลล์ที่ต้องการ ต่อไปนี้เป็นขั้นตอนในการแก้ไขไฟล์ Excel ที่มีอยู่
- เปิดไฟล์ Excel ในวัตถุ FileStream
- สร้างอินสแตนซ์ของ Workbook และเริ่มต้นด้วยวัตถุ FileStream
- เข้าถึงเวิร์กชีตและเซลล์โดยใช้คลาส เวิร์กชีต และ เซลล์ ตามลำดับ
- บันทึกสมุดงานเป็นไฟล์ Excel .xlsx
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแก้ไขและเขียนข้อมูลไปยังไฟล์ Excel XLSX ที่มีอยู่ใน C#
// สร้างอินสแตนซ์ของวัตถุสมุดงานที่แสดงถึงไฟล์ Excel
Workbook wb = new Workbook("Excel.xlsx");
// เข้าถึง "Sheet1" จากสมุดงาน
Worksheet sheet = wb.Worksheets[0];
// เข้าถึงเซลล์ "A1" ในแผ่นงาน
Cell cell = sheet.Cells["A1"];
// ป้อน "Hello World!" ข้อความลงในเซลล์ "A1"
cell.PutValue("The cell's value is updated.");
// บันทึกไฟล์ Excel เป็น .xlsx
wb.Save("Excel_updated.xlsx", SaveFormat.Xlsx);
C# สร้างไฟล์ Excel ด้วยแผนภูมิหรือกราฟ
สเปรดชีต Excel มีวิธีที่ดีในการวิเคราะห์หรือนำเสนอข้อมูลด้วยภาพโดยใช้กราฟและแผนภูมิ Aspose.Cells สำหรับ .NET มีชุดคลาสที่สมบูรณ์สำหรับสร้างและจัดการ แผนภูมิที่หลากหลาย ในสเปรดชีต Excel ซึ่งแต่ละคลาสจะใช้เพื่อทำงานเฉพาะบางอย่าง
ในการสร้างแผนภูมิในไฟล์ Excel คุณจะต้องทำตามขั้นตอนต่อไปนี้:
- เพิ่มข้อมูลบางส่วน (เพื่อใช้เป็นแหล่งข้อมูล) ลงในแผ่นงานโดยการเข้าถึงเซลล์
- เพิ่มวัตถุแผนภูมิใหม่ลงในเวิร์กชีตโดยใช้คอลเลกชัน Worksheet.Charts โดยส่งประเภทของแผนภูมิโดยใช้การแจงนับ ChartType
- รับแผนภูมิที่สร้างขึ้นใหม่จากคอลเลกชันในวัตถุ แผนภูมิ
- ระบุช่วงของเซลล์เพื่อให้แหล่งข้อมูลแก่วัตถุแผนภูมิ
- บันทึกสมุดงานเป็นไฟล์ Excel .xlsx
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างไฟล์ Excel XLSX และเพิ่มแผนภูมิใน C#
// สร้างอินสแตนซ์ของวัตถุสมุดงานที่แสดงถึงไฟล์ Excel
Workbook wb = new Workbook();
// เพิ่มแผ่นงานใหม่ไปยังวัตถุ Excel
int sheetIndex = wb.Worksheets.Add();
// รับข้อมูลอ้างอิงของเวิร์กชีตที่เพิ่มใหม่โดยส่งดัชนีชีต
Worksheet worksheet = wb.Worksheets[sheetIndex];
// เพิ่มค่าจำลองให้กับเซลล์
worksheet.Cells["A1"].PutValue(50);
worksheet.Cells["A2"].PutValue(100);
worksheet.Cells["A3"].PutValue(150);
worksheet.Cells["B1"].PutValue(4);
worksheet.Cells["B2"].PutValue(20);
worksheet.Cells["B3"].PutValue(50);
// เพิ่มแผนภูมิลงในแผ่นงาน
int chartIndex = worksheet.Charts.Add(Charts.ChartType.Pyramid, 5, 0, 15, 5);
// เข้าถึงอินสแตนซ์ของแผนภูมิที่เพิ่มเข้ามาใหม่
Charts.Chart chart = worksheet.Charts[chartIndex];
// เพิ่ม SeriesCollection (แหล่งข้อมูลแผนภูมิ) ลงในแผนภูมิตั้งแต่เซลล์ "A1" ถึง "B3"
chart.NSeries.Add("A1:B3", true);
// บันทึกไฟล์ Excel
wb.Save("Excel_Chart.xlsx", SaveFormat.Xlsx);
เอาต์พุต
เรียนรู้เพิ่มเติม เกี่ยวกับการสร้างแผนภูมิในแผ่นงาน Excel โดยใช้ C#
สร้างไฟล์ Excel XLSX ด้วยตารางใน C#
คุณยังสามารถสร้างตารางจากช่วงของเซลล์ในแผ่นงาน Excel และเพิ่มแถวสำหรับผลรวม (ผลรวม การนับ ฯลฯ) ในตาราง ต่อไปนี้เป็นขั้นตอนในการสร้างไฟล์ Excel (XLSX) และเพิ่มตารางใน C#:
- โหลดสมุดงาน Excel หรือสร้างสมุดงานใหม่โดยใช้คลาสสมุดงาน
- เพิ่มข้อมูลลงในเซลล์ของแผ่นงาน
- เพิ่ม ListObject ใหม่ลงในแผ่นงาน
- ตั้งค่าคุณสมบัติ ListObject.ShowTotals เป็นจริง
- คำนวณผลรวมและบันทึกสมุดงานเป็นไฟล์ Excel .xlsx
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างตารางในไฟล์ Excel ในภาษา C#
// สร้างอินสแตนซ์ของวัตถุสมุดงานที่แสดงถึงไฟล์ Excel
Workbook wb = new Workbook();
// รับแผ่นงานแรก
Worksheet sheet = wb.Worksheets[0];
// การรับคอลเล็กชันเซลล์ของแผ่นงาน
Cells cells = sheet.Cells;
// การตั้งค่าให้กับเซลล์
Aspose.Cells.Cell cell = cells["A1"];
cell.PutValue("Employee");
cell = cells["B1"];
cell.PutValue("Quarter");
cell = cells["C1"];
cell.PutValue("Product");
cell = cells["D1"];
cell.PutValue("Continent");
cell = cells["E1"];
cell.PutValue("Country");
cell = cells["F1"];
cell.PutValue("Sale");
cell = cells["A2"];
cell.PutValue("David");
cell = cells["A3"];
cell.PutValue("David");
cell = cells["A4"];
cell.PutValue("David");
cell = cells["A5"];
cell.PutValue("David");
cell = cells["A6"];
cell.PutValue("James");
cell = cells["B2"];
cell.PutValue(1);
cell = cells["B3"];
cell.PutValue(2);
cell = cells["B4"];
cell.PutValue(3);
cell = cells["B5"];
cell.PutValue(4);
cell = cells["B6"];
cell.PutValue(1);
cell = cells["C2"];
cell.PutValue("Maxilaku");
cell = cells["C3"];
cell.PutValue("Maxilaku");
cell = cells["C4"];
cell.PutValue("Chai");
cell = cells["C5"];
cell.PutValue("Maxilaku");
cell = cells["C6"];
cell.PutValue("Chang");
cell = cells["D2"];
cell.PutValue("Asia");
cell = cells["D3"];
cell.PutValue("Asia");
cell = cells["D4"];
cell.PutValue("Asia");
cell = cells["D5"];
cell.PutValue("Asia");
cell = cells["D6"];
cell.PutValue("Europe");
cell = cells["E2"];
cell.PutValue("China");
cell = cells["E3"];
cell.PutValue("India");
cell = cells["E4"];
cell.PutValue("Korea");
cell = cells["E5"];
cell.PutValue("India");
cell = cells["E6"];
cell.PutValue("France");
cell = cells["F2"];
cell.PutValue(2000);
cell = cells["F3"];
cell.PutValue(500);
cell = cells["F4"];
cell.PutValue(1200);
cell = cells["F5"];
cell.PutValue(1500);
cell = cells["F6"];
cell.PutValue(500);
// การเพิ่ม List Object ใหม่ลงในแผ่นงาน
Tables.ListObject listObject = sheet.ListObjects[sheet.ListObjects.Add("A1", "F6", true)];
// การเพิ่มสไตล์เริ่มต้นให้กับตาราง
listObject.TableStyleType = Tables.TableStyleType.TableStyleMedium10;
// แสดงผลรวม
listObject.ShowTotals = true;
// ตั้งค่าประเภทการคำนวณของเขตข้อมูลไตรมาส
listObject.ListColumns[1].TotalsCalculation = Tables.TotalsCalculation.Count;
// บันทึกไฟล์ Excel
wb.Save("Excel_Table.xlsx", SaveFormat.Xlsx);
เอาต์พุต
เรียนรู้เพิ่มเติม เกี่ยวกับการทำงานกับตารางในแผ่นงาน Excel โดยใช้ C#
C# .NET API เพื่อสร้างไฟล์ Excel - รับใบอนุญาตฟรี
คุณสามารถใช้ Aspose.Cells สำหรับ .NET ได้โดยไม่มีข้อจำกัดในการประเมินโดยรับ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีสร้างไฟล์ Excel ตั้งแต่เริ่มต้นโดยใช้ C# นอกจากนี้ คุณได้เห็นวิธีการแทรกข้อมูลในแผ่นงาน สร้างแผนภูมิ และแทรกตารางในไฟล์ Excel คุณอาจดู เอกสารประกอบ ของ Aspose.Cells สำหรับ .NET เพื่อเรียนรู้คุณลักษณะขั้นสูงสำหรับการจัดการไฟล์ Excel ใน C#