ในบทความนี้ คุณจะได้เรียนรู้วิธีสร้างไฟล์ Excel XLS/XLSX ใน C# โดยไม่ต้องติดตั้ง MS Office

สร้างไฟล์ Excel ใน C# API

ปัจจุบันสเปรดชีตได้กลายเป็นส่วนสำคัญในการเก็บรักษา จัดระเบียบ และวิเคราะห์ข้อมูล สเปรดชีต เช่น MS Excel สามารถคำนวณและจัดเรียงข้อมูล สร้างกราฟหรือแผนภูมิ สร้างงบประมาณ และทำงานด้านบัญชีหรือการวิเคราะห์ข้อมูลอื่นๆ อีกมากมาย เนื่องจากทุกวันนี้โซลูชันอัตโนมัติมีบทบาทในธุรกิจมากขึ้น แนวโน้มของการสร้างและจัดการเอกสาร Excel (XLS/XLSX) จึงเกิดขึ้นและเติบโตอย่างรวดเร็ว กรณีการใช้งานนี้ได้เพิ่มความจำเป็นในการมีโซลูชันการทำงานอัตโนมัติของ Excel

ตามสถานการณ์ที่กล่าวถึงข้างต้น บทความที่ครอบคลุมนี้มีจุดมุ่งหมายเพื่อแสดงคุณลักษณะพื้นฐานบางอย่างสำหรับการทำงานอัตโนมัติของ Excel ในแอปพลิเคชัน C# .NET

C# API เพื่อสร้างไฟล์ Excel - ดาวน์โหลดฟรี

ในการทำงานกับเอกสาร Excel เราจะใช้ Aspose.Cells for .NET ซึ่งเป็น API ที่มีประสิทธิภาพในการสร้าง อ่าน และจัดการเอกสารสเปรดชีต รวมถึงไฟล์ XLS และ XLSX คุณสามารถ ดาวน์โหลด หรือติดตั้ง API โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้:

ใช้ NuGet Package Manager

C# ไลบรารีการทำงานอัตโนมัติของ Excel

การใช้คอนโซลผู้จัดการแพ็คเกจ

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 ใน C#

เขียนข้อมูลไปยังไฟล์ 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 โดยใช้ 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 #

เรียนรู้เพิ่มเติม เกี่ยวกับการทำงานกับตารางในแผ่นงาน Excel โดยใช้ C#

C# .NET API เพื่อสร้างไฟล์ Excel - รับใบอนุญาตฟรี

คุณสามารถใช้ Aspose.Cells สำหรับ .NET ได้โดยไม่มีข้อจำกัดในการประเมินโดยรับ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีสร้างไฟล์ Excel ตั้งแต่เริ่มต้นโดยใช้ C# นอกจากนี้ คุณได้เห็นวิธีการแทรกข้อมูลในแผ่นงาน สร้างแผนภูมิ และแทรกตารางในไฟล์ Excel คุณอาจดู เอกสารประกอบ ของ Aspose.Cells สำหรับ .NET เพื่อเรียนรู้คุณลักษณะขั้นสูงสำหรับการจัดการไฟล์ Excel ใน C#

บทความที่เกี่ยวข้อง

สร้างและจัดเรียง Pivot Tables ในแผ่นงาน Excelสร้างไฟล์ Excel ในแอปพลิเคชัน Node.jsปิดใช้งานตัวตรวจสอบความเข้ากันได้ในไฟล์ Excel โดยใช้ C#
ปิดใช้งานตัวตรวจสอบความเข้ากันได้ของ Excel ใน Javaปิดใช้งานตัวตรวจสอบความเข้ากันได้ของ Excel ใน Pythonอ่านไฟล์ Excel โดยใช้ C#
อ่านไฟล์ Excel โดยใช้ Javaอ่านไฟล์ Excel โดยใช้ Python