EPPlusを使用しています。Excelからデータを高速に読み込み、ファイルストリームからリストに変換する方法
アップロードには2行目の列ヘッダーがあります。また、4行目以降は、2kレコードまで変化する可能性のあるデータがあります。
私はそれをやっている方法は、それが2kのレコードを読み込み、リストに置くために多くの時間を要します。
using (var excel = new ExcelPackage(hpf.InputStream))
{
var ws = excel.Workbook.Worksheets["Sheet1"];
//Read the file into memory
for (int rw = 4; rw <= ws.Dimension.End.Row; rw++)
{
if (!ws.Cells[rw, 1, rw, 24].All(c => c.Value == null))
{
int headerRow = 2;
GroupMembershipUploadInput gm = new GroupMembershipUploadInput();
for (int col = ws.Dimension.Start.Column; col <= ws.Dimension.End.Column; col++)
{
var s = ws.Cells[rw, col].Value;
if (ws.Cells[headerRow, col].Value.ToString().Equals("Existing Constituent Master Id"))
{
gm.cnst_mstr_id = (ws.Cells[rw, col].Value ?? (Object)"").ToString();
}
else if (ws.Cells[headerRow, col].Value.ToString().Equals("Prefix of the constituent(Mr, Mrs etc)"))
{
gm.cnst_prefix_nm = (ws.Cells[rw, col].Value ?? (Object)"").ToString();
}
}
lgl.GroupMembershipUploadInputList.Add(gm);
}
}
GroupMembershipUploadInputListは、私が賢いのセルから読み取った後にExcelの値を追加してい型GroupMembershipUploadInputのオブジェクトのリストです。
もっと速くすることはできますか?私はここで何が欠けていますか?
パフォーマンスを向上させる手助けをしてください。
を確認してください。 http://stackoverflow.com/questions/7613898/how-to-read-an-excel-spreadsheet-in-c-sharp-quickly – rochastuff