สเปรดชีต MS Excel ใช้กันอย่างแพร่หลายเพื่อเก็บข้อมูลขนาดเล็ก ขนาดกลาง หรือขนาดใหญ่ ในหลายกรณี สเปรดชีตทำหน้าที่เป็นฐานข้อมูลเพื่อเก็บข้อมูลแอปพลิเคชัน ในสถานการณ์เช่นนี้ คุณอาจจำเป็นต้องอ่านข้อมูลที่จัดเก็บไว้ในไฟล์ Excel จากภายในแอปพลิเคชันเว็บหรือเดสก์ท็อปของคุณ สำหรับกรณีดังกล่าว บทความนี้ครอบคลุมวิธีการแปลงข้อมูล Excel เป็น DataTables ใน C#
- C # API เพื่อส่งออกข้อมูล Excel ไปยัง DataTable
- Excel เป็น DataTable ใน C#
- แปลงข้อมูล Excel ที่พิมพ์ยากเป็น DataTable
- แปลงข้อมูล Excel ที่พิมพ์ไม่แข็งแรงเป็น DataTable
- รับใบอนุญาตฟรี
C # Excel เป็น API การแปลง DataTable
Aspose.Cells for .NET เป็นไลบรารีคลาสที่ให้คุณใช้คุณลักษณะการทำงานอัตโนมัติของ Excel ภายในแอปพลิเคชัน .NET นอกจากนี้ API ยังช่วยให้คุณสามารถส่งออกข้อมูลจากแผ่นงาน Excel ไปยัง ADO.NET DataTable ได้ภายในไม่กี่ขั้นตอน คุณสามารถ ดาวน์โหลด API หรือติดตั้งผ่าน NuGet
PM> Install-Package Aspose.Cells
แปลง Excel เป็น DataTable ใน C#
อาจมีสถานการณ์ที่เป็นไปได้สองกรณีเมื่อส่งออกข้อมูลจากเวิร์กชีต Excel ไปยัง DataTables: ข้อมูลอาจพิมพ์อย่างเข้มงวดหรือไม่เข้มงวดก็ได้ ในทั้งสองกรณี คุณสามารถแปลง Excel เป็น DataTable ได้ มาดูวิธีจัดการกับสถานการณ์ดังกล่าวข้างต้น
แปลงข้อมูล Excel ที่พิมพ์อย่างแน่นหนาเป็น DataTable ใน C
ข้อมูลที่พิมพ์มากหมายความว่าค่าในคอลัมน์เดียวเป็นของประเภทข้อมูลเฉพาะ ในกรณีดังกล่าว คุณสามารถส่งออกข้อมูล Excel ไปยัง DataTable ใน C# ได้โดยใช้ขั้นตอนต่อไปนี้
- ใช้คลาส Workbook เพื่อโหลดไฟล์ Excel
- รับแผ่นงานที่คุณต้องการส่งออกในวัตถุ แผ่นงาน
- ใช้เมธอด Worksheet.Cells.ExportDataTable(int, int, int, int, bool) เพื่อส่งออกข้อมูลไปยังวัตถุ DataTable
- ใช้ DataTable เป็นแหล่งข้อมูล
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการส่งออก Excel ไปยัง DataTable
// สร้างสตรีมไฟล์ที่มีไฟล์ Excel ที่จะเปิด
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);
// สร้างอินสแตนซ์วัตถุสมุดงาน
//การเปิดไฟล์ Excel ผ่านสตรีมไฟล์
Workbook workbook = new Workbook(fstream);
// เข้าถึงแผ่นงานแรกในไฟล์ Excel
Worksheet worksheet = workbook.Worksheets[0];
// ส่งออกเนื้อหาของ 2 แถวและ 2 คอลัมน์โดยเริ่มจากเซลล์ที่ 1 ไปยัง DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true);
// ผูก DataTable กับ DataGrid
dataGridView1.DataSource = dataTable;
// ปิดการสตรีมไฟล์เพื่อเพิ่มทรัพยากรทั้งหมด
fstream.Close();
แปลงข้อมูล Excel ที่พิมพ์ไม่แข็งแรงเป็น DataTable ใน C
ตอนนี้ มาดูอีกกรณีหนึ่งเมื่อค่าในเวิร์กชีตไม่ได้พิมพ์อย่างเข้มงวด หมายความว่าไม่ได้อยู่ในประเภทข้อมูลใดประเภทหนึ่ง ต่อไปนี้เป็นขั้นตอนในการส่งออกข้อมูล Excel ไปยัง DataTable ในกรณีนี้
- ใช้คลาส Workbook เพื่อโหลดไฟล์ Excel
- เลือกแผ่นงานที่คุณต้องการส่งออกในวัตถุ แผ่นงาน
- ใช้ Worksheet.Cells.ExportDataTableAsString(int, int, int, int, bool) เพื่อส่งออกข้อมูลไปยังวัตถุ DataTable
- ใช้ DataTable เป็นแหล่งข้อมูล
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีส่งออกข้อมูลที่พิมพ์ไม่แน่นหนาจาก Excel ไปยัง DataTable ใน C#
// สร้างสตรีมไฟล์ที่มีไฟล์ Excel ที่จะเปิด
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);
// สร้างอินสแตนซ์วัตถุสมุดงาน
//การเปิดไฟล์ Excel ผ่านสตรีมไฟล์
Workbook workbook = new Workbook(fstream);
// เข้าถึงแผ่นงานแรกในไฟล์ Excel
Worksheet worksheet = workbook.Worksheets[0];
// ส่งออกเนื้อหาของ 2 แถวและ 2 คอลัมน์โดยเริ่มจากเซลล์ที่ 1 ไปยัง DataTable
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true);
// ผูก DataTable กับ DataGrid
dataGridView1.DataSource = dataTable;
// ปิดการสตรีมไฟล์เพื่อเพิ่มทรัพยากรทั้งหมด
fstream.Close();
รับใบอนุญาตฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อทดลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีการส่งออกหรือแปลงข้อมูล Excel เป็น ADO.NET DataTables โดยใช้ C# บทช่วยสอนทีละขั้นตอนและตัวอย่างโค้ดได้แสดงวิธีจัดการกับข้อมูลที่พิมพ์อย่างเข้มงวดและไม่ใช่ข้อมูลที่พิมพ์อย่างเข้มงวดในเวิร์กชีต คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ C# Excel API โดยใช้ เอกสารประกอบ