- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[API/MFC] 엑셀 자동화(Excel Automation) 본문
// 엑셀 오토메이션을 이용하여 클래스 만들기..
Class Wizard -> Automation -> Add Class ->Form a Type Libary -> Excel9.old 선택
Confirm Classes 목록에서 모든 클래스를 선택
// 기본적으로 선언되어 있지만 없으면 새로 선언한다.
#include <afxdisp.h> // MFC Automation classes
// 엑셀 오토메이션 사용하기
// 프로그램 시작하는 곳에 반드시 아래 루틴을 추가해 주어야 한다.
if (!AfxOleInit())
{
AfxMessageBox("Could not initialize COM dll");
return FALSE;
}
Microsoft Access 97 Msacc8.olb
Microsoft Jet Database 3.5 DAO350.dll
Microsoft Binder 97 Msbdr8.olb
Microsoft Excel 97 Excel8.olb
Microsoft Graph 97 Graph8.olb
Microsoft Office 97 Mso97.dll
Microsoft Outlook 97 Msoutl97.olb
Microsoft PowerPoint 97 Msppt8.olb
Microsoft Word 97 Msword8.olb
Microsoft Access 2000 Msacc9.olb
Microsoft Jet Database 3.51 DAO360.dll
Microsoft Binder 2000 Msbdr9.olb
Microsoft Excel 2000 Excel9.olb
Microsoft Graph 2000 Graph9.olb
Microsoft Office 2000 Mso9.dll
Microsoft Outlook 2000 Msoutl9.olb
Microsoft PowerPoint 2000 Msppt9.olb
Microsoft Word 2000 Msword9.olb
Microsoft Access 2002 Msacc.olb
Microsoft Excel 2002 Excel.exe
Microsoft Graph 2002 Graph.exe
Microsoft Office 2002 MSO.dll
Microsoft Outlook 2002 Msoutl9.olb
Microsoft PowerPoint 2002 MSPpt.olb
Microsoft Word 2002 MSWord.olb
Microsoft Office Access 2003 Msacc.olb
Microsoft Office Excel 2003 Excel.exe
Microsoft Graph 2003 Graph.exe
Microsoft Office 2003 MSO.dll
Microsoft Office Outlook 2003 MSOutl.olb
Microsoft Office PowerPoint 2003 MSPpt.olb
Microsoft Office Word 2003 MSWord.olb
간단한 사용법
// 타이틀 출력 함수선언
void SetTitleData(CExcelAutomation &cExcel,const char *strCell, const char *strData, bool bIsBold = true);
// 타이틀 출력 함수정의
void SetTitleData(CExcelAutomation &cExcel,const char *strCell, const char *strData, bool bIsBold)
{
cExcel.SetData(1,strCell,strCell,strData);
cExcel.SetAlign(1,1);
if(bIsBold) cExcel.SetFont(10,"굴림체",false,false,true);
}
// 엑셀출력함수
void TestExcelAutomation()
{
CString szTitle,szData;
CExcelAutomation cExcel;
if(cExcel.GetEnableApp() == false)
{
// "엑셀 프로그램이 설치되어있는지 확인하여 주십시오."
return;
}
// 엑셀 등록 검사
if(cExcel.CreateExcleFile() == FALSE)
{
//"엑셀 파일 생성 오류.."
return;
}
cExcel.SetActiveSheet(1);
cExcel.Select(1,"A1","E1");
cExcel.SetMerge(); // 셀병합
SetTitleData(cExcel,"A1","사용자 정의함수");
SetTitleData(cExcel,"A3","NO");
SetTitleData(cExcel,"B3","프로젝트명");
SetTitleData(cExcel,"C3","프로그램ID");
SetTitleData(cExcel,"D3","종류");
SetTitleData(cExcel,"E3","함수명");
cExcel.Select(1,"A3","E3");
cExcel.SetLine(0,3);
cExcel.SetColor(255,255,0);
for(int i=0;i<m_spMain.GetMaxRows();i++)
{
szData.Format("A%d",i+4);
cExcel.SetData(1,szData,/*Itoa(i+1)*/);
szData.Format("B%d",i+4);
cExcel.SetData(1,szData,/*데이터1*/);
szData.Format("C%d",i+4);
cExcel.SetData(1,szData,,/*데이터2*/);
szData.Format("D%d",i+4);
cExcel.SetData(1,szData,,/*데이터3*/);
szData.Format("E%d",i+4);
cExcel.SetData(1,szData,,/*데이터4*/);
}
szData.Format("E%d",i+3);
cExcel.Select(1,"A4",szData);
cExcel.SetFont(10,"굴림체",false,false,false);
cExcel.SetLine(0,3);
cExcel.SetAutoFit();
cExcel.Select(1,"A1","A1");
szTitle.Format("사용자 정의함수(%s).xls",GetSysDate(false));
CFileDialog Filedlg(FALSE, "xls", szTitle, OFN_EXTENSIONDIFFERENT | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Microsoft Excel파일(*.xls)|*.xls|");
if(Filedlg.DoModal() != IDOK) return;
if(cExcel.SaveAs(true,Filedlg.GetPathName()) == FALSE)
{
cExcel.Close();
// "엑셀 파일 생성 오류.."
return;
}
cExcel.Close();
// "완료.."
}
'★─Programing > ☆─API | MFC' 카테고리의 다른 글
[API/MFC] 다이얼로그 대화상자 색깔 넣는 아주 쉬운 방법 (0) | 2011.05.23 |
---|---|
[API/MFC] 다이얼로그 캡션바 이외의 부분에서 이동하기 (0) | 2011.05.23 |
[API/MFC] DOM with C/C++ MSXML 4.0 SDK 설치하기 (0) | 2011.05.11 |
[API/MFC] GetModuleFileName() - 절대경로 찾기 (0) | 2011.05.11 |
[API/MFC] CStdioFile 클래스 (0) | 2011.05.06 |