본문 바로가기
Programming/C#

[MFC] 리스트컨트롤 데이터를 엑셀로 저장하기

by NAMP 2013. 7. 1.



XLAutomation.cpp


XLAutomation.h


XLEzAutomation.cpp


XLEzAutomation.h






if (m_listAlarmLog.GetItemCount() <= 0)

{

AfxMessageBox("조회된 데이터가 0건이므로 엑셀 저장 할 수 없습니다.");

return;

}


CTime timeNow = CTime::GetCurrentTime();

CString strDateTime;

strDateTime = timeNow.Format(_T("%Y-%m-%d_%H%M%S"));

CString strFileName;

strFileName.Format("로그조회_%s", strDateTime);


CFileDialog fdlg(FALSE, "xlsx", strFileName+".xlsx", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_NOCHANGEDIR, "xlsx 파일 (*.xlsx)|*.xlsx", NULL);

if (fdlg.DoModal() != IDOK) return;


CXLEzAutomation xls(FALSE);  // FALSE : 처리 과정을 화면에 보이지 않는다.


int rowOffset = 5;

int colOffset = 0;


int rowCount = m_listAlarmLog.GetItemCount();

CHeaderCtrl* pHeaderCtrl = m_listAlarmLog.GetHeaderCtrl();

int colCount = pHeaderCtrl->GetItemCount();


CString strItemText;

for (int rowIdx = 0; rowIdx < rowCount; rowIdx++)

{

for (int colIdx = 0; colIdx < colCount; colIdx++)

{

strItemText = m_listAlarmLog.GetItemText(rowIdx, colIdx);


// 컬럼 데이터

xls.SetCellValue(colIdx + colOffset, rowIdx + rowOffset, strItemText);

}

}


xls.SaveFileAs(fdlg.GetPathName());


xls.ReleaseExcel();










'Programming > C#' 카테고리의 다른 글

[CUDA] CUDA 사용해보기  (0) 2014.04.07
[MFC] 리스트 컨트롤 컬럼 헤더 텍스트 얻기  (0) 2013.07.01
[MFC] 디버깅용 메시지 출력  (0) 2013.06.30
[MFC] 문자열 자르기  (0) 2013.06.27
[MFC] ComboBox 다루기  (0) 2013.06.27

댓글