(C#) ASP.Net Excel & EPPlus Read Excel/Cell file |
(C#) ASP.Net Excel & EPPlus Read Excel/Cell file นอกจาก EPPlus จะสามารถใช้เขียนไฟล์ Excel แล้ว อีกความสามารถหนึ่งคือการอ่านข้อมูลที่อยู่ใน Excel บน โดยรูปแบบการอ่านข้อมูลนั้นจะใช้การ อ่านจาก Cell แต่ล่ะช่อง ซึ่งเรราสามารถที่จะอ่านได้ทีละ Cell หรือจะ Loop แล้วไปสร้างเป็นพวก DataTable , List<T> หรืออื่นๆ ก็ได้เช่นเดียวกัน
Language Code : VB.NET || C#
Framework : 1,2,3,4
Example 1 : การอ่าน Cell แบบง่าย ๆ

Code (C#)
FileInfo excel = new FileInfo(Server.MapPath(@"Xls/myData.xlsx"));
using (var package = new ExcelPackage(excel))
{
var workbook = package.Workbook;
//*** Sheet 1
var worksheet = workbook.Worksheets.First();
//*** Result
this.lblResult1.Text = worksheet.Cells["A1"].Text;
this.lblResult2.Text = worksheet.Cells["B2"].Text;
this.lblResult3.Text = worksheet.Cells["C3"].Text;
}
Screenshot

Example 2 : การอ่าน Cell ด้วยการลูปข้อมูล

Code (C#)
public class ExcelData
{
public string Col1 { get; set; }
public string Col2 { get; set; }
public string Col3 { get; set; }
public string Col4 { get; set; }
public string Col5 { get; set; }
}
protected void Page_Load(object sender, EventArgs e)
{
FileInfo excel = new FileInfo(Server.MapPath(@"Xls/myData.xlsx"));
using (var package = new ExcelPackage(excel))
{
var workbook = package.Workbook;
//*** Sheet 1
var worksheet = workbook.Worksheets.First();
//*** Retrieve to List
var ls = new List<ExcelData>();
int totalRows = worksheet.Dimension.End.Row;
for (int i = 1; i <= totalRows; i++)
{
ls.Add(new ExcelData
{
Col1 = worksheet.Cells[i, 1].Text.ToString(),
Col2 = worksheet.Cells[i, 2].Text.ToString(),
Col3 = worksheet.Cells[i, 3].Text.ToString(),
Col4 = worksheet.Cells[i, 4].Text.ToString(),
Col5 = worksheet.Cells[i, 5].Text.ToString(),
});
}
//*** Display to GridView
this.myGridView.DataSource = ls;
this.myGridView.DataBind();
}
}
Screenshot

ในตัวอย่างที่ 2 สามารถใช้ GridView เพื่อมาแสดงค่าที่อยู่ในรูปแบบ DataSource ของ List

|