일단 두가지 방식을 보자.
첫번째 방식이다.
int cnt = list.Count;AddRows를 사용하여 _ActiveSheet에 Row를 추가하고 각 Column에 직접 값을 기록한다.
for (int i = _ActiveSheet.Rows.Count, j = 0; j < cnt; i++, j++)
{
_ActiveSheet.AddRows(_ActiveSheet.Rows.Count, 1);
_ActiveSheet.SetValue(i, COL_STATUS, "추가");
_ActiveSheet.SetValue(i, COL_ORG_ID, list[j]._holdOrgID);
_ActiveSheet.SetValue(i, COL_ORG_NAME, list[j]._holdOrgName);
_ActiveSheet.SetValue(i, COL_FOLDER, list[j]._folder);
_ActiveSheet.SetValue(i, COL_FILE_NO, list[j]._fileNo);
_ActiveSheet.SetValue(i, COL_FILE_NAME, list[j]._fileNameFormat);
_ActiveSheet.SetValue(i, COL_MAKE_PG, list[j]._makePG);
_ActiveSheet.SetValue(i, COL_TRANS_TYPE, ConvertTransTypeToString(list[j]._transType));
}
이제 두번째 방식을 보자.
DefaultSheetDataModel model = new DefaultSheetDataModel();
model.RowCount = list.Count;
model.ColumnCount = COL_MAX;
for (int i = 0; i < list.Count; i++)
{
model.SetValue(i, COL_STATUS, "추가");
model.SetValue(i, COL_ORG_ID, list[i]._holdOrgID);
model.SetValue(i, COL_ORG_NAME, list[i]._holdOrgName);
model.SetValue(i, COL_FOLDER, list[i]._folder);
model.SetValue(i, COL_FILE_NO, list[i]._fileNo);
model.SetValue(i, COL_FILE_NAME, list[i]._fileNameFormat);
model.SetValue(i, COL_MAKE_PG, list[i]._makePG);
model.SetValue(i, COL_TRANS_TYPE, ConvertTransTypeToString(list[i]._transType));
}
_ActiveSheet.Models.Data = model;
http://tryinsights.blogspot.kr/2012/09/farpoint-spread-defaultsheetdatamodel.html 에서 설명한 것과 같이 DefaultSheetDataModel class를 이용한다.
테스트를 해보지 않아 어느 방식이 어떤 상황에서 더 효율적이다 라고 말하긴 어렵다.
하지만 후자 방식이 좀더 빠를 것 같은 느낌(?)이 든다.
그냥 느낌이다-_-;
댓글 없음:
댓글 쓰기