免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
VC中調(diào)用EXECL模板生成報表
userphoto

2010.11.03

關注
VC中調(diào)用EXECL模板生成報表
 
   
  ●新建Excel模板文件tmp.xlt
 
 
●準備
新建一對話框工程,打開添加類向?qū)?選擇“類型庫中的MFC類”
 

選擇Office安裝文件夾下面的Excel9.OLB文件,然后選擇_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range,加入新類,分別為_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range
 
 
將excel9.h excel9.cpp拷貝到工程目錄并加入工程
●編碼實現(xiàn):
先保護兩個頭文件
#include "comdef.h" 
#include "Excel9.h" 

添加一按鈕,加入下列代碼:
      _Application ExcelApp; 
      Workbooks wbsMyBooks; 
      _Workbook wbMyBook; 
      Worksheets wssMysheets; 
      _Worksheet wsMysheet; 
      Range rgMyRge; 
      //創(chuàng)建Excel 2000服務器(啟動Excel) 
      if (!ExcelApp.CreateDispatch("Excel.Application",NULL)) 
      { 
            AfxMessageBox("創(chuàng)建Excel服務失敗!"); 
            return; 
      } 
      ExcelApp.SetVisible(false); 
      //利用模板文件建立新文檔 
      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)));
      //得到Worksheets 
      wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);
      //得到sheet1 
      wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true);
      //添加模板個數(shù)
      for( int i=0; i<4; i++)
      {
            wsMysheet.Copy(vtMissing,_variant_t(wsMysheet));
      }
      CString str1;
      wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true);
      str1 = "第1頁";
      wsMysheet.SetName(str1);
      for(i=0;i<wssMysheets.GetCount()-1;i++){
            wsMysheet = wsMysheet.GetNext();
            str1.Format("第%d頁",i+2);
            wsMysheet.SetName(str1);
      }
      wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("第1頁")),true);
      //得到全部Cells,此時,rgMyRge是cells的集合 
      rgMyRge.AttachDispatch(wsMysheet.GetCells(),true); 
      //設置1行1列的單元的值 
      CString str=_TEXT("22:12");
      rgMyRge.SetItem(_variant_t((long)2),_variant_t((long)1),_variant_t("0001")); 
      rgMyRge.SetItem(_variant_t((long)2),_variant_t((long)2),_variant_t("哈哈"));
      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("男")); 
      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("我我"));
      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("女")); 
      //將表格保存
      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(_variant_t(strPath)));
      wbMyBook.PrintPreview(_variant_t(false)); 
      ExcelApp.Quit();
      //釋放對象 
      rgMyRge.ReleaseDispatch(); 
      wsMysheet.ReleaseDispatch(); 
      wssMysheets.ReleaseDispatch(); 
      wbMyBook.ReleaseDispatch(); 
      wbsMyBooks.ReleaseDispatch(); 
      ExcelApp.ReleaseDispatch(); 

}

●運行結(jié)果

 

本文來自CSDN博客,轉(zhuǎn)載請標明出處:http://blog.csdn.net/SEUU/archive/2004/11/23/192840.aspx
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
將博客搬至CSDN
使用VC6.0對MFC源代碼挖掘 - iwknow的專欄 - CSDN博客 - dingc...
VC開發(fā)指南--VisualC++/MFC入門教程
利用Word文字型窗體域保護模板
調(diào)試信息的輸出
寫CSDN博客時表格內(nèi)如何換行
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服