ไฟล์ MS Excel ใช้กันอย่างแพร่หลายในการจัดเก็บข้อมูลในรูปแบบของแถวและคอลัมน์ ในกรณีต่างๆ ชุดข้อมูลขนาดใหญ่จะถูกรักษาไว้ในไฟล์ Excel บ่อยครั้งที่คุณต้องอ่านไฟล์ Excel และดึงข้อมูลจากภายในแอปพลิเคชัน .NET ของคุณ บทความนี้แสดงวิธีอ่านไฟล์ Excel ใน C# เพื่อให้บรรลุเป้าหมายดังกล่าวภายในขั้นตอนง่ายๆ ไม่กี่ขั้นตอน โดยเฉพาะอย่างยิ่ง ครอบคลุมวิธีการอ่านข้อมูลจากไฟล์ Excel ทั้งหมดหรือเฉพาะแผ่นงานเดียว
ไลบรารี C# เพื่ออ่านไฟล์ Excel - ดาวน์โหลดฟรี
ในการอ่านข้อมูลจากแผ่นงาน เราจะใช้ Aspose.Cells for .NET เป็น API ที่ทรงพลังและเต็มไปด้วยคุณสมบัติในการสร้างและจัดการไฟล์ Excel นอกจากนี้ยังช่วยให้คุณอ่านไฟล์ Excel ได้อย่างง่ายดาย สามารถดาวน์โหลด API ได้จาก ส่วนการดาวน์โหลด หรือติดตั้งผ่าน NuGet
PM> Install-Package Aspose.Cells
อ่านไฟล์ Excel ใน C#
ในไฟล์ Excel ข้อมูลจะถูกเก็บไว้ภายในเซลล์โดยแต่ละเซลล์จะถูกระบุด้วยชื่อ (A1, B3 ฯลฯ) หรือดัชนีแถวและคอลัมน์ คอลเลกชันของเซลล์สร้างเวิร์กชีต และไฟล์ Excel อาจมีเวิร์กชีตเดียวหรือหลายเวิร์กชีต สุดท้าย แผ่นงานทั้งหมดรวมกันเป็นสมุดงาน Aspose.Cells for .NET ใช้หลักการตั้งชื่อเดียวกันในการจัดการไฟล์ Excel
ต่อไปนี้เป็นขั้นตอนในการอ่านไฟล์ Excel และรับข้อมูลในภาษา C#
- โหลดไฟล์ Excel โดยใช้คลาส Workbook
- สร้างวัตถุของคลาส WorksheetCollection และรับข้อมูลอ้างอิงของเวิร์กชีตโดยใช้ Workbook.Worksheets
- เริ่มการวนซ้ำเพื่อไปยังเวิร์กชีตทั้งหมดในคอลเลกชันและในการวนซ้ำแต่ละครั้ง ให้ทำตามขั้นตอนต่อไปนี้:
- รับการอ้างอิงแผ่นงานในวัตถุ แผ่นงาน
- รับจำนวนแถวและคอลัมน์ข้อมูลในแผ่นงาน
- เริ่มวนซ้ำสำหรับแถว
- เริ่มการวนซ้ำที่ซ้อนกันสำหรับคอลัมน์
- อ่านข้อมูลจากแต่ละเซลล์โดยใช้คุณสมบัติ Worksheet.Cells[i, j].Value
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านไฟล์ Excel ใน C#
// โหลดไฟล์ Excel
Workbook wb = new Workbook("excel.xlsx");
// รับแผ่นงานทั้งหมด
WorksheetCollection collection = wb.Worksheets;
// วนซ้ำแผ่นงานทั้งหมด
for (int worksheetIndex = 0; worksheetIndex < collection.Count; worksheetIndex++)
{
// รับแผ่นงานโดยใช้ดัชนี
Worksheet worksheet = collection[worksheetIndex];
// พิมพ์ชื่อแผ่นงาน
Console.WriteLine("Worksheet: " + worksheet.Name);
// รับจำนวนแถวและคอลัมน์
int rows = worksheet.Cells.MaxDataRow;
int cols = worksheet.Cells.MaxDataColumn;
// วนซ้ำเป็นแถว
for (int i = 0; i < rows; i++)
{
// วนซ้ำแต่ละคอลัมน์ในแถวที่เลือก
for (int j = 0; j < cols; j++)
{
// ค่าพริงเซลล์
Console.Write(worksheet.Cells[i, j].Value + " | ");
}
// พิมพ์ตัวแบ่งบรรทัด
Console.WriteLine(" ");
}
}
ต่อไปนี้เป็นผลลัพธ์ที่เราได้รับในคอนโซลหลังจากรันตัวอย่างโค้ดด้านบน
C# อ่านแผ่นงาน Excel โดยเฉพาะ
คุณยังสามารถอ่านเฉพาะเวิร์กชีตเฉพาะในไฟล์ Excel โดยทำตามขั้นตอนด้านล่าง
- โหลดไฟล์ Excel โดยใช้คลาส Workbook
- รับการอ้างอิงแผ่นงานที่ต้องการในวัตถุ Worksheet โดยใช้ Workbook.Worksheets[index]
- รับจำนวนแถวและคอลัมน์ข้อมูลในแผ่นงาน
- เริ่มวนซ้ำสำหรับแถว
- เริ่มการวนซ้ำที่ซ้อนกันสำหรับคอลัมน์
- อ่านข้อมูลจากแต่ละเซลล์โดยใช้คุณสมบัติ Worksheet.Cells[i, j].Value
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านข้อมูลจากแผ่นงานเฉพาะใน C#
// โหลดไฟล์ Excel
Workbook wb = new Workbook("excel.xlsx");
// รับแผ่นงานโดยใช้ดัชนี
Worksheet worksheet = wb.Worksheets[0];
// พิมพ์ชื่อแผ่นงาน
Console.WriteLine("Worksheet: " + worksheet.Name);
// รับจำนวนแถวและคอลัมน์
int rows = worksheet.Cells.MaxDataRow;
int cols = worksheet.Cells.MaxDataColumn;
// วนซ้ำเป็นแถว
for (int i = 0; i < rows; i++)
{
// วนซ้ำแต่ละคอลัมน์ในแถวที่เลือก
for (int j = 0; j < cols; j++)
{
// ค่าพริงเซลล์
Console.Write(worksheet.Cells[i, j].Value + " | ");
}
// พิมพ์ตัวแบ่งบรรทัด
Console.WriteLine(" ");
}
C# Excel Reader API - รับใบอนุญาตฟรี
คุณสามารถใช้ Aspose.Cells for .NET ได้โดยไม่มีข้อจำกัดในการประเมินโดยรับ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีการอ่านไฟล์ Excel โดยทางโปรแกรมใน C# ด้วยความช่วยเหลือของตัวอย่างโค้ด คุณได้เห็นวิธีการอ่านข้อมูลจากแผ่นงานเฉพาะหรือแผ่นงานทั้งหมดในสมุดงาน Excel นอกจากนี้ คุณสามารถสำรวจคุณลักษณะอื่นๆ ของ Aspose.Cells for .NET โดยใช้ เอกสารประกอบ ในกรณีที่คุณมีข้อสงสัย โปรดแจ้งให้เราทราบผ่าน ฟอรัม ของเรา