// 객체 및 변수 선언
_Application gObjApplication;
Workbooks gObjWorkbooks;
_Workbook gObjWorkbook;
Range gObjRange;
Worksheets gObjWorksheets;
_Worksheet gObjWorksheet;
Comment objComment;
Font font;
Borders borders;
Border bdLeft, bdTop, bdRight, bdBottom;
Interior interior;
Shapes objShapes;
Shape objShape;
COleVariant oleVariant((long) DISP_E_PARAMNOTFOUND, VT_ERROR);
COleVariant VFalse((short)FALSE);
CString strStartCell, strEndCell; // 셀의 좌표
CString strText;
// 엑셀 프로세스 시작 및 쉬트 객체를 얻음
gObjApplication.CreateDispatch("Excel.Application")
gObjWorkbooks = gObjApplication.GetWorkbooks();
gObjWorkbook = gObjWorkbooks.Add(oleVariant);
gObjWorksheets = gObjWorkbook.GetWorksheets();
gObjWorksheet = gObjWorksheets.GetItem(COleVariant((short) 1));
// 파일(strFileName)로 저장
gObjWorkbook.SaveAs(COleVariant(strFileName), COleVariant((long)1), COleVariant("", VT_BSTR), COleVariant("", VT_BSTR), VFalse, VFalse, 1, COleVariant((long) 1), oleVariant, oleVariant, oleVariant);
// 엑셀 프로그램 실행
gObjApplication.SetVisible(TRUE);
gObjApplication.SetUserControl(TRUE);
// Sheet Name 설정
String strSheetName;
strSheetName = "Sheet";
gObjWorksheet.SetName(LPCTSTR(strSheetName));
// Cell Merge
strStartCell = "A1";
strEndCell = "C1";
gObjRange = gObjWorksheet.GetRange(COleVariant(strStartCell), COleVariant(strEndCell));
gObjRange.SetColumnWidth(COleVariant(10.33)); // 100 pixel
// Text Insert
strText = "Test";
gObjRange.SetValue(COleVariant(strText));
// 좌기준 : -4131, 가운데기준 : -4108, 우기준 : -4152
gObjRange.SetVerticalAlignment(COleVariant((short)-4108)); // 수직 가운데기준
gObjRange.SetHorizontalAlignment(COleVariant((short)-4152)); // 수평 우기준
// Font : size 10, 굴림체, Bold, Italic
gObjRange = gObjWorksheet.GetRange(COleVariant(strStartCell), COleVariant(strEndCell));
font = gObjRange.GetFont();
font.SetSize(COleVariant((short)10));
font.SetName(COleVariant("굴림체"));
font.SetBold(COleVariant((short)1));
font.SetItalic(COleVariant((short)1));
// 셀 서식 : 텍스트
gObjRange.SetNumberFormatLocal(COleVariant("@"));
// 셀 테두리(border)
// 모든 테두리
gObjRange = gObjWorksheet.GetRange(COleVariant(strStartCell), COleVariant(strEndCell));
borders = gObjRange.GetBorders();
borders.SetLineStyle(COleVariant((short)1)); // single line
// 바깥쪽 테두리
gObjRange = gObjWorksheet.GetRange(COleVariant(strStartCell), COleVariant(strEndCell));
borders = gObjRange.GetBorders();
// left=7, top=8, right=10, bottom=9
bdLeft = borders.GetItem((long)7);
bdLeft.SetLineStyle(COleVariant((short)1));
bdTop = borders.GetItem((long)8);
bdTop.SetLineStyle(COleVariant((short)1));
bdRight = borders.GetItem((long)10);
bdRight.SetLineStyle(COleVariant((short)1));
bdBottom = borders.GetItem((long)9);
bdBottom.SetLineStyle(COleVariant((short)1));
COLORREF color = RGB(255, 255, 255);
interior = gObjRange.GetInterior();
interior.SetColor(COleVariant((double)color));
// 그림 삽입 및 크기 설정
objShapes = gObjWorksheet.GetShapes();
objShape = objShapes.AddPicture(strPictureName, // Filename
(long)0, // LinkToFile
(long)-1, // SaveWithDocument
(float)left, // Left
(float)top, // Top
(float)width, // Width
(float)height); // Height
objShape.SetWidth((float)width);
objShape.SetHeight((float)height);