The EXECL template generated by the VC
● New Excel template file TMP.XLT
● Preparation
Newly built a dialogue project, open the Add Class Wizard, select the "MFC class in the type library"
Select the Excel9.olb file below the Office installation folder, then select _Application, Workbooks, _Workbook, Worksheets, _Worksheet, Range, join the new class, is _application, workbooks, _workbook, worksheets, _Worksheet, Range
Copy Excel9.h Excel9.cpp to the project directory and join the project
● Code implementation:
Protect two headers first
#include "comdef.h" #include "excel9.h"
Add a button to add the following code:
_Application ExcelApp; Workbooks wbsMyBooks; _Workbook wbMyBook; Worksheets wssMysheets; _Worksheet wsMysheet; Range rgMyRge; // create Excel 2000 Server (Start Excel) if (! ExcelApp.CreateDispatch ( "Excel.Application", NULL)) {AfxMessageBox ( "Creating Excel Service failed! "); Return;} Excelapp.setVisible (false); // created a new document char path [max_path]; getCurrentDirectory (MAX_PATH, PATH); cstring strpath = path; strpath =" // TMP " ; wbsMyBooks.AttachDispatch (ExcelApp.GetWorkbooks (), true); wbMyBook.AttachDispatch (wbsMyBooks.Add (_variant_t (strPath))); // get Worksheets wssMysheets.AttachDispatch (wbMyBook.GetWorksheets (), true); // get sheet1 WSMYSHEET.ATCHDISPATCH (WSSMYSHEETS.GETITEM (_variant_t ("sheet1")), true); // Add template number for (int i = 0; i <4; i ) {wsmysheet.copy (vtMissing, _variant_t (wsmysheet)) } Cstring str1; wsmysheet.at Tachdispatch (WSSMYSHEETS.GETITEM (_variant_t ("sheet1")), true); str1 = "page 1"; wsmysheet.setname (str1); for (i = 0; i RgmyRge.SetItem (_variant_t (long) 2), _ variant_t ("haha")); RgmyRge.SetItem (_VARIANT_T (long) 2), _ variant_t (long) 3), _ variant_t ( "20")); RGMYRGE.SETITEM (_VARIANT_T (long) 2), _ variant_t (long) 4), _ variant_t ("male")); RGMYRGE.SETITEM (_VARIANT_T ((long) 3), _ variant_t ((long) 1), _ variant_t ("0002")); RGMYRGE.SETITEM (_variant_t (long) 3), _ variant_t (long) 2), _ variant_t ("I"); RGMYRGE.SETITEM (_VARIANT_T ((long) 3), _ variant_t ((long) 3), _ variant_t ("66")); RGMYRGE.SETITEM (_VARIANT_T (long) 3), _ variant_t (long) 4), _ variant_t ("female")); // table storage strPath = path; strPath = "//result.xls"; DeleteFile (strPath); wsMysheet.SaveAs (strPath, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing); ExcelApp.SetVisible (true ); Wbmybook.attachdispatch (wbsmybooks.add); wbmybook.printpreview (_variant_t (false)); ExceLapp.quit (); // Release Object RGMYRGE.RELEASPATCH () WSMYSHEET.RELEASPATCH (); WSSMYSHEETS.RELEASPATCH (); wbmybook.releaseDispatch (); wbsmybooks.releaseDispatch (); eXcelapp.releaseDispatch ();} ● Run results