2012년 9월 12일 수요일

C#에서 FarPoint Spread 출력

C#에서 FarPoint Spread 출력은 일단 두가지 방식이 있다.

일단 두가지 방식을 보자.

첫번째 방식이다.


int cnt = list.Count;
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));
}
AddRows를 사용하여 _ActiveSheet에 Row를 추가하고 각 Column에 직접 값을 기록한다.

이제 두번째 방식을 보자.


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를 이용한다.

테스트를 해보지 않아 어느 방식이 어떤 상황에서 더 효율적이다 라고 말하긴 어렵다.

하지만 후자 방식이 좀더 빠를 것 같은 느낌(?)이 든다.

그냥 느낌이다-_-;


댓글 없음:

댓글 쓰기