EPPlus - Baca Tabel Excel
Dengan menggunakan EPPlus, saya ingin membaca tabel excel, lalu menyimpan semua konten dari setiap kolom ke dalam Daftar
yang sesuai. Saya ingin ia mengenali judul tabel dan mengkategorikan isinya berdasarkan itu.
Sebagai contoh, jika tabel excel saya seperti di bawah ini:
Id Name Gender
1 John Male
2 Maria Female
3 Daniel Unknown
Saya ingin datanya disimpan dalam List<ExcelData>
di mana
public class ExcelData
{
public string Id { get; set; }
public string Name { get; set; }
public string Gender { get; set; }
}
Sehingga saya bisa memanggil isinya menggunakan nama heading. Sebagai contoh, ketika saya melakukan ini:
foreach (var data in ThatList)
{
Console.WriteLine(data.Id + data.Name + data.Gender);
}
Ini akan memberi saya output ini:
1JohnMale
2MariaFemale
3DanielUnknown
Hanya ini yang saya dapatkan:
var package = new ExcelPackage(new FileInfo(@"C:\ExcelFile.xlsx"));
ExcelWorksheet sheet = package.Workbook.Worksheets[1];
var table = sheet.Tables.First();
table.Columns.Something //I guess I can use this to do what I want
Mohon bantuannya :( Saya telah menghabiskan waktu berjam-jam mencari contoh kode mengenai hal ini sehingga saya dapat belajar darinya tetapi tidak berhasil. Saya juga mengerti ExcelToLinQ berhasil melakukan hal itu tetapi tidak dapat mengenali tabel.
23
3
Tidak ada yang asli tetapi bagaimana jika Anda menggunakan apa yang saya masukkan ke dalam posting ini:
https://stackoverflow.com/questions/33436525/how-to-parse-excel-rows-back-to-types-using-epplus
Jika Anda ingin mengarahkannya ke tabel saja, maka perlu dimodifikasi. Sesuatu seperti ini harus melakukannya:
Berikut ini adalah metode pengujian:
Memberikan ini di konsol:
Berhati-hatilah jika field Id Anda adalah angka atau string di excel karena kelasnya mengharapkan string.
Ini adalah versi kerja saya. Perhatikan bahwa kode resolver tidak ditampilkan tetapi merupakan putaran pada implementasi saya yang memungkinkan kolom diselesaikan meskipun mereka diberi nama sedikit berbeda di setiap lembar kerja.
Kode di bawah ini akan membaca data excel ke dalam datatable, yang dikonversi menjadi daftar datarows.