|
¿¢¼¿,¿öµå ÀÚµ¿À¸·Î ¸¸µé±â |
|||||
ÇнÀ¸ñÇ¥ |
||||||
°èÃøµÈ µ¥ÀÌÅ͸¦ ÀÚµ¿À¸·Î ¿¢¼¿°ú ¿öµå¸¦ ¸¸µç´Ù. |
||||||
ÇнÀÁÖÁ¦ |
||||||
1. ¿¢¼¿¿¡ µ¥ÀÌÅ͸¦ ±â·ÏÇϰí ÃÆ®¸¦ ¸¸µç´Ù. 2. ¿öµå¿¡ µ¥ÀÌÅ͸¦ ±â·ÏÇϰí Å×À̺íÀ» ¸¸µç´Ù. 3. ¿À¸¥ÂÊ ±×¸²°ú °°ÀÌ ¹öưÀ» ´©¸£¸é ¾Æ·¡¿Í °°ÀÌ ÀÓÀÇ·Î ¸¸µé¾îÁø µ¥ÀÌÅ͸¦ ¿¢¼¿°ú ¿öµå¿¡ ±âÀÔÇÑ´Ù. |
|
|||||
|
||||||
¿¹½À³»¿ë |
||||||
|
||||||
½Ç½À¹æ¹ý |
||||||
¸ñ Â÷ |
||||||
±×¸²°ú °°ÀÌ ÇÁ·ÎÁ§Æ® À̸§À» ¡°ExelWord¡±·Î ÇÏ°í ¡°È®ÀΡ±À»´©¸¨´Ï´Ù. ¡°Finish¡±¸¦ ¼±ÅÃÇÕ´Ï´Ù. ´ÙÀ½ ȸéÀÌ ³ª¿À¸é ¡°Excel¡±°ú ¡°Word¡±¸¦ ¼±ÅÃÇÏ¿© ÇÁ·ÎÁ§Æ®¿¡ °ü·Ã Çì´õ ÆÄÀÏÀÌ Æ÷ÇԵǵµ·Ï ÇÕ´Ï´Ù. ¹öưÀ» ¸¸µé°í ¡°¼Ó¼º¡±ÀÇ ¡°Caption¡±À» ¡°¿¢¼¿,¿öµå ¹®¼ ¸¸µé±â¡±·Î ÇÕ´Ï´Ù. |
||||||
|
|
|||||
¡°¼Ó¼º¡±ÀÇ ¡°ÄÜÆ®·Ñ À̺¥Æ®¡±¿¡¼ ¸¶¿ì½º¸¦ Å©¸¯ÇÏ¸é ½ÇÇàµÇ´Â ÇÔ¼ö¸¦ ¸¸µì´Ï´Ù. |
||||||
¹æ¹ý 1 |
||||||
¡°OnBnClickedButton1()¡± ÇÔ¼ö ¾È¿¡ ´ÙÀ½À» ¼±¾ðÇÑ´Ù. |
||||||
|
void CExelWordDlg::OnBnClickedButton1() { CNiExcelApplication
ExcelApp(true,
CNiComInitialize::Multithreaded ); //
±âÁ¸ÀÇÆÄÀÏÀ»¿¬´Ù. //CNiExcelWorkbook m_workBook =
ExcelApp.OpenWorkbook("Limit.xsl"); CNiExcelWorkbook
m_workBook = ExcelApp.NewWorkbook(); // »õ·Î¿î¿¢¼¿ÆÄÀÏÀ»¸¸µç´Ù. CNiExcelWorksheet
m_workSheet = m_workBook.GetWorksheet("Sheet1"); // ¿¢¼¿½¬Æ®A¿°úB¿¿¡10°³¾¿Àǵ¥ÀÌÅ͸¦¾´´Ù. CString
s; int i; CNiExcelCellRange
range = m_workSheet.GetRange("A1"); for(i=1;i<=10;i++) { s.Format("A%d",i); range
= m_workSheet.GetRange(s); s.Format("%d",i); range.SetCellValue(s); } for(i=1;i<=10;i++) { s.Format("B%d",i); range
= m_workSheet.GetRange(s); s.Format("%d",i*10); range.SetCellValue(s); }
//¿¢¼¿ÃÆ®¸¦±×¸°´Ù. CNiExcelChart
chartSheet = m_workSheet.AddChart(10, 150, 300, 200);
chartSheet.ChartWizard(1, "A1:B10",
NiExcelChartWizardGalleryColumn, NiExcelRows, 1, 1, true,
"", "",
"Time", ""); // ¿¢¼¿ÆÄÀÏÀ»ÀúÀåÇÑ´Ù. // ÆÄÀÏÀºµð·ºÅ丮"³»¹®¼"¿¡"test.xls"·ÎÀúÀåµÈ´Ù. m_workBook.Save("test.xls",m_workBook.FileFormatExcel7); m_workBook.Close(m_workBook.SaveChanges); } |
|
||||
¹æ¹ý2 |
||||||
¡°ExelWordDlg.h¡±¸¦ ´ÙÀ½°ú °°ÀÌ ÇÁ·Î±×·¥ ÇÑ´Ù. |
||||||
|
// ExelWordDlg.h : Çì´õÆÄÀÏ // #pragma once // CExelWordDlg ´ëÈ»óÀÚ class CExelWordDlg : public
CDialog { // »ý¼ºÀÔ´Ï´Ù. public: //CExelWordDlg(CWnd* pParent = NULL); // ¿ø·¡»õ¼ºµÈÇÔ¼ö¸¦¾Æ·¡¿Í°°À̼öÁ¤ÇÑ´Ù. CExelWordDlg(bool visible = false, CWnd* pParent = NULL); // ´ëÈ»óÀÚµ¥ÀÌÅÍÀÔ´Ï´Ù. enum { IDD = IDD_EXELWORD_DIALOG }; protected: virtual void
DoDataExchange(CDataExchange* pDX); // DDX/DDV Áö¿øÀÔ´Ï´Ù. // ±¸ÇöÀÔ´Ï´Ù. protected: HICON
m_hIcon; // »ý¼ºµÈ¸Þ½ÃÁö¸ÊÇÔ¼ö virtual BOOL OnInitDialog(); afx_msg
void OnSysCommand(UINT nID, LPARAM lParam); afx_msg
void OnPaint(); afx_msg
HCURSOR OnQueryDragIcon(); DECLARE_MESSAGE_MAP() public: afx_msg
void OnBnClickedButton1(); // ¿¢¼¿½ÃÆ®¸¦¸¸µé±âÀ§ÇؾƷ¡¸¦¼±¾ðÇÏ´Ù. private: CNiExcelApplication
m_application; CNiExcelWorkbook
m_workBook; CNiExcelWorksheet
m_workSheet; }; |
|
||||
¡°ExelWordDlg.cpp¡± ÇÔ¼öÀÇ »¡°£ ±Û¾¾¸¦ ¼öÁ¤Çϸé ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ°í ¿¢¼¿°ú ¿öµå°¡ ¸¸µé¾î Áø´Ù. |
||||||
|
// ExelWordDlg.cpp : ±¸ÇöÆÄÀÏ // #include "stdafx.h" #include "ExelWord.h" #include "ExelWordDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #endif static CString testTitles [] = {"Test
1", "Test 2", "Test 3", "Test
4", "Test 5"}; // ¿¢¼¿¿ÀÇÁ¦¸ñ static CString deviceTitles [] = {"Device
1", "Device 2", "Device 3", "Device
4", "Device 5"}; // ¿¢¼¿ÇàÀÇÁ¦¸ñ //chartValues : ÃÆ®¼±ÇüÅÂÂ÷·Ê·Î"Column",
"Bar", "Line", "XYScatter",
"3DSurface", "3DCylinderCol" static DWORD chartValues [] =
{NiExcelChartTypesColumnClustered, NiExcelChartTypesBarClustered,
NiExcelChartTypesLine, NiExcelChartTypesXYScatter,
NiExcelChartTypes3DSurface, NiExcelChartTypes3DCylinderCol}; static int nChartTypes = 6; static int nTests = 5; //¿¢¼¿ÀÇ»ý¼ºµÇ´ÂÇà°ú¿Àǵ¥ÀÌÅͰ³¼ö // ÀÀ¿ëÇÁ·Î±×·¥Á¤º¸¿¡»ç¿ëµÇ´ÂCAboutDlg ´ëÈ»óÀÚÀÔ´Ï´Ù. class CAboutDlg : public
CDialog { public: CAboutDlg(); // ´ëÈ»óÀÚµ¥ÀÌÅÍÀÔ´Ï´Ù. enum { IDD = IDD_ABOUTBOX }; protected: virtual void
DoDataExchange(CDataExchange* pDX); //
DDX/DDV Áö¿øÀÔ´Ï´Ù. // ±¸ÇöÀÔ´Ï´Ù. protected: DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) END_MESSAGE_MAP() // CExelWordDlg ´ëÈ»óÀÚ //´ÙÀ½ÇÔ¼ö¸¦¾Æ·¡¿Í°°À̼öÁ¤¼±¾ðÇØ¾ß¿¢¼¿ÃÆ®°¡»ý¼ºµÈ´Ù. óÀ½¿¡´ÂvisibleÀÌfalse·ÎµÇ¾î //ÀÖ¾î¼À̸¦true·Î¼±¾ðÇϸ鿢¼¿½ÃÆ®°¡³ªÅ¸³´Ù. //CExelWordDlg::CExelWordDlg(CWnd*
pParent /*=NULL*/) // :
CDialog(CExelWordDlg::IDD, pParent) //{ // m_hIcon
= AfxGetApp()->LoadIcon(IDR_MAINFRAME); //} CExelWordDlg::CExelWordDlg(bool
visible, CWnd* pParent) :m_application(visible),
m_workBook(m_application.NewWorkbook()),
m_workSheet(m_workBook.GetWorksheet(1)), CDialog(CExelWordDlg::IDD, pParent) { m_hIcon
= AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CExelWordDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CExelWordDlg, CDialog) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() //}}AFX_MSG_MAP ON_BN_CLICKED(IDC_BUTTON1,
&CExelWordDlg::OnBnClickedButton1) END_MESSAGE_MAP() // CExelWordDlg ¸Þ½ÃÁö󸮱â BOOL CExelWordDlg::OnInitDialog() { CDialog::OnInitDialog(); // ½Ã½ºÅÛ¸Þ´º¿¡"Á¤º¸..." ¸Þ´ºÇ׸ñÀ»Ãß°¡ÇÕ´Ï´Ù. // IDM_ABOUTBOX´Â½Ã½ºÅÛ¸í·É¹üÀ§¿¡ÀÖ¾î¾ßÇÕ´Ï´Ù. ASSERT((IDM_ABOUTBOX
& 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX
< 0xF000); CMenu*
pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString
strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING,
IDM_ABOUTBOX, strAboutMenu); } } // ÀÌ´ëÈ»óÀÚÀǾÆÀÌÄÜÀ»¼³Á¤ÇÕ´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ÀÇÁÖâÀÌ´ëÈ»óÀÚ°¡¾Æ´Ò°æ¿ì¿¡´Â // ÇÁ·¹ÀÓ¿öÅ©°¡ÀÌÀÛ¾÷À»ÀÚµ¿À¸·Î¼öÇàÇÕ´Ï´Ù. SetIcon(m_hIcon,
TRUE); // Å«¾ÆÀÌÄÜÀ»¼³Á¤ÇÕ´Ï´Ù. SetIcon(m_hIcon,
FALSE); // ÀÛÀº¾ÆÀÌÄÜÀ»¼³Á¤ÇÕ´Ï´Ù. // TODO: ¿©±â¿¡Ãß°¡ÃʱâÈÀÛ¾÷À»Ãß°¡ÇÕ´Ï´Ù. return TRUE;
// Æ÷Ä¿½º¸¦ÄÁÆ®·Ñ¿¡¼³Á¤ÇÏÁö¾ÊÀ¸¸éTRUE¸¦¹ÝȯÇÕ´Ï´Ù. } void CExelWordDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg
dlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID,
lParam); } } // ´ëÈ»óÀÚ¿¡ÃÖ¼ÒÈ´ÜÃ߸¦Ãß°¡ÇÒ°æ¿ì¾ÆÀÌÄÜÀ»±×¸®·Á¸é // ¾Æ·¡Äڵ尡ÇÊ¿äÇÕ´Ï´Ù. ¹®¼/ºä¸ðµ¨À»»ç¿ëÇÏ´ÂMFC ÀÀ¿ëÇÁ·Î±×·¥Àǰæ¿ì¿¡´Â // ÇÁ·¹ÀÓ¿öÅ©¿¡¼ÀÌÀÛ¾÷À»ÀÚµ¿À¸·Î¼öÇàÇÕ´Ï´Ù. void CExelWordDlg::OnPaint() { if (IsIconic()) { CPaintDC
dc(this); // ±×¸®±â¸¦À§Çѵð¹ÙÀ̽ºÄÁÅØ½ºÆ® SendMessage(WM_ICONERASEBKGND,
reinterpret_cast<WPARAM>(dc.GetSafeHdc()),
0); // Ŭ¶óÀÌ¾ðÆ®»ç°¢Çü¿¡¼¾ÆÀÌÄÜÀ»°¡¿îµ¥¿¡¸ÂÃä´Ï´Ù. int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect
rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // ¾ÆÀÌÄÜÀ»±×¸³´Ï´Ù. dc.DrawIcon(x,
y, m_hIcon); } else { CDialog::OnPaint(); } } // »ç¿ëÀÚ°¡ÃÖ¼ÒȵÈâÀ»²ô´Âµ¿¾È¿¡Ä¿¼°¡Ç¥½ÃµÇµµ·Ï½Ã½ºÅÛ¿¡¼ // ÀÌÇÔ¼ö¸¦È£ÃâÇÕ´Ï´Ù. HCURSOR CExelWordDlg::OnQueryDragIcon() { return static_cast<HCURSOR>(m_hIcon); } void CExelWordDlg::OnBnClickedButton1() {
//================ ¿¢¼¿¹®¼¸¦¸¸µç´Ù. =================================== m_application.Visible = true; //¼û°ÜÁø¿¢¼¿ÃÆ®°¡È¸é¿¡º¸ÀδÙ. m_application.WindowState =
CNiExcelApplication::WindowStateMaximized; // ¿¢¼¿½¬Æ®A¿°úB¿¿¡10°³¾¿Àǵ¥ÀÌÅ͸¦¾´´Ù. CString s; int
i; CNiExcelCellRange
range = m_workSheet.GetRange("A1"); for(i=1;i<=10;i++)
{ s.Format("A%d",i); range
= m_workSheet.GetRange(s); s.Format("%d",i); range.SetCellValue(s); } for(i=1;i<=10;i++)
{ s.Format("B%d",i); range
= m_workSheet.GetRange(s); s.Format("%d",i*10); range.SetCellValue(s); }
//¿¢¼¿ÃÆ®¸¦±×¸°´Ù. CNiExcelChart chartSheet = m_workSheet.AddChart(10, 150,
300, 200); chartSheet.ChartWizard(1, "A1:B10",
NiExcelChartWizardGalleryColumn, NiExcelRows, 1, 1, true, "", "",
"Time", ""); // ÃÆ®ÀǸð¾çÀ»¼±À¸·ÎÇÑ´Ù. ´Ù¸¥ÇüÅÂÀÇÃÆ®´ÂÁ¦ÀÏÀ§¿¡¼±¾ðµÈchartValuesÀ»ÂüÁ¶ÇϽÿÀ.
//int data; //data = (int)(NiExcelChartTypesLine);
//chartSheet.ChartType =
(NiExcelChartTypes)data; // ¿¢¼¿ÆÄÀÏÀ»ÀúÀåÇÑ´Ù. CFileDialog pDlg(FALSE,"xls","",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"¿¢¼¿ÆÄÀÏ(*.xls)|*.xls|"); if(pDlg.DoModal()==IDOK) { CString
s=pDlg.GetPathName(); m_workBook.Save(s,m_workBook.FileFormatExcel7); m_workBook.Close(m_workBook.SaveChanges); } } |
|
||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
°ú Á¦ |
||||||
|
||||||
Áß¿äÇÔ¼ö |
||||||
|
||||||