现在的位置: 首页 > 综合 > 正文

Excel 2

2013年10月08日 ⁄ 综合 ⁄ 共 4230字 ⁄ 字号 评论关闭

_Application   ExcelApp;    
  Workbooks   wbsMyBooks;    
  _Workbook   wbMyBook;    
  Worksheets   wssMysheets;    
  _Worksheet   wsMysheet;    
  Range   rgMyRge;    
  //创建Excel   2000服务器(启动Excel)    
   
  if   (!ExcelApp.CreateDispatch("Excel.Application",NULL))    
  {    
  AfxMessageBox("创建Excel服务失败!");    
  return;  
  }    
  //得到路径  
  char   cCurrentDir[255];  
  ::GetCurrentDirectory(255,   cCurrentDir);  
  CString   str   =   cCurrentDir;  
  int   iPos   =   str.ReverseFind('//');  
  CString   str1   =   str.Left(iPos);  
  CString   strDirectory;  
  strDirectory   =   _tcsdup(str1   +   "//MyTemplate.xlt");    
  //利用模板文件建立新文档    
  wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);    
  wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t(strDirectory)));    
  //得到Worksheets    
  wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);    
  //得到sheet1    
  wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true);    
  //得到全部Cells,此时,rgMyRge是cells的集合    
  rgMyRge.AttachDispatch(wsMysheet.GetCells(),true);    
  //设置1行1列的单元的值                     行                         列  
   
  rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)1),_variant_t("名称"));    
  rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)2),_variant_t("时间"));  
  rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)3),_variant_t("信息"));  
  rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)4),_variant_t("级别"));  
  rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)5),_variant_t("确认时间"));  
  rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)6),_variant_t("人"));  
  rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)7),_variant_t("啊啊"));  
  rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)8),_variant_t("cc"));  
  rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)9),_variant_t("gh元"));  
  rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)10),_variant_t("h"));  
  rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)11),_variant_t("dsf"));  
   
   
   
  //int   j=m_theListCtrl.GetItemCount();  
  //CString   str;  
  //str=m_theListCtrl.GetItemText(0,1);  
  //MessageBox(str);  
   
   
  for(int   i   =   2;   i   <   m_theListCtrl.GetItemCount()+2;   i++)  
  {  
  rgMyRge.SetItem(_variant_t((long)i),_variant_t((long)1),_variant_t(m_theListCtrl.GetItemText(i-2,0)));  
  rgMyRge.SetItem(_variant_t((long)i),_variant_t((long)2),_variant_t(m_theListCtrl.GetItemText(i-2,1)));  
  rgMyRge.SetItem(_variant_t((long)i),_variant_t((long)3),_variant_t(m_theListCtrl.GetItemText(i-2,2)));  
  rgMyRge.SetItem(_variant_t((long)i),_variant_t((long)4),_variant_t(m_theListCtrl.GetItemText(i-2,3)));  
  rgMyRge.SetItem(_variant_t((long)i),_variant_t((long)5),_variant_t(m_theListCtrl.GetItemText(i-2,4)));  
  rgMyRge.SetItem(_variant_t((long)i),_variant_t((long)6),_variant_t(m_theListCtrl.GetItemText(i-2,5)));  
  rgMyRge.SetItem(_variant_t((long)i),_variant_t((long)7),_variant_t(m_theListCtrl.GetItemText(i-2,6)));  
  rgMyRge.SetItem(_variant_t((long)i),_variant_t((long)8),_variant_t(m_theListCtrl.GetItemText(i-2,7)));  
  rgMyRge.SetItem(_variant_t((long)i),_variant_t((long)9),_variant_t(m_theListCtrl.GetItemText(i-2,8)));  
  rgMyRge.SetItem(_variant_t((long)i),_variant_t((long)10),_variant_t(m_theListCtrl.GetItemText(i-2,9)));  
  rgMyRge.SetItem(_variant_t((long)i),_variant_t((long)11),_variant_t(m_theListCtrl.GetItemText(i-2,10)));  
   
  }  
   
  //得到所有的列    
  rgMyRge.AttachDispatch(wsMysheet.GetColumns(),true);    
   
   
  //得到第一列   //设置列宽    
  rgMyRge.AttachDispatch(rgMyRge.GetItem(_variant_t((long)1),vtMissing).pdispVal,true);    
  rgMyRge.SetColumnWidth(_variant_t((long)15));    
   
  rgMyRge.AttachDispatch(rgMyRge.GetItem(_variant_t((long)2),vtMissing).pdispVal,true);    
  rgMyRge.SetColumnWidth(_variant_t((long)15));    
   
  rgMyRge.AttachDispatch(rgMyRge.GetItem(_variant_t((long)3),vtMissing).pdispVal,true);    
  rgMyRge.SetColumnWidth(_variant_t((long)16));    
   
  rgMyRge.AttachDispatch(rgMyRge.GetItem(_variant_t((long)4),vtMissing).pdispVal,true);    
  rgMyRge.SetColumnWidth(_variant_t((long)15));    
   
  rgMyRge.AttachDispatch(rgMyRge.GetItem(_variant_t((long)5),vtMissing).pdispVal,true);    
  rgMyRge.SetColumnWidth(_variant_t((long)15));    
   
  //显示excel表  
  wbMyBook.SetSaved(true);    
  ExcelApp.SetVisible(true);    
  //wbMyBook.PrintPreview(_variant_t(false));    
   
  //释放对象    
  rgMyRge.ReleaseDispatch();    
  wsMysheet.ReleaseDispatch();    
  wssMysheets.ReleaseDispatch();    
  wbMyBook.ReleaseDispatch();    
  wbsMyBooks.ReleaseDispatch();    
  ExcelApp.ReleaseDispatch();     
 

抱歉!评论已关闭.