vc操作excel填充单元格的值

#include "excel.h"
BOOL CTestExcelCtrl::saveexcel(LPCTSTR str)
{
 // TODO: Add your dispatch handler code here
    _Application app;
 Workbooks books;//工作簿的集合
 _Workbook book; //工作簿
 Worksheets sheets;//工作表的集合
 _Worksheet sheet;//工作表
 Range range; //单元格区域
 Font font;  
 Range cols; 
 COleVariant covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);//填充参数
 if(!app.CreateDispatch("Excel.Application"))//启动一个excel对象
 {
   return FALSE;
 }
 books=app.GetWorkbooks(); //获得工作簿的集合对象
 book= books.Add(covOptional);//添加一个工作簿
 sheets=book.GetSheets(); //获得工作表的集合对象
 sheet=sheets.GetItem(COleVariant((short)1));//获得一个工作表对象
   
 range=sheet.GetRange(COleVariant("A1"),COleVariant("A1"));//获得操作的单元格区域
 range.SetValue2(COleVariant(str));//设置单元格的值
 
 font=range.GetFont();// 获得字体对象
 font.SetBold(COleVariant((short)TRUE));
 
 range=sheet.GetRange(COleVariant("A2"),COleVariant("A2"));//获得操作的单元格区域
 range.SetFormula(COleVariant("=RAND()*100000"));//插入设置的公式
 range.SetNumberFormat(COleVariant("$0.00"));//设置格式
    //选择A:A列设置宽度为自动适应
 cols=range.GetEntireColumn();
 cols.AutoFit();
 
 app.SetVisible(TRUE);
    //设置状态为用户可控制
 app.SetUserControl(TRUE);
 //自动保存创建的excel文件
 /*
        void SaveAs(
  const VARIANT& Filename, const VARIANT& FileFormat, const VARIANT& Password,
  const VARIANT& WriteResPassword, const VARIANT& ReadOnlyRecommended, const VARIANT& CreateBackup,
  long AccessMode, const VARIANT& ConflictResolution, const VARIANT& AddToMru,
  const VARIANT& TextCodepage, const VARIANT& TextVisualLayout, const VARIANT& Local);
     */
 book.SaveAs(
  COleVariant("d://excel.xls"),covOptional,covOptional,
  covOptional,covOptional,covOptional,
  (long)0,covOptional,covOptional,
  covOptional,covOptional,covOptional);
 app.Quit();
 if(books)
  books.ReleaseDispatch();
 if(book)
  book.ReleaseDispatch();
 if(sheets)
  sheets.ReleaseDispatch();
 if(sheet)
  sheet.ReleaseDispatch();
 if(app)
  app.ReleaseDispatch();
 return TRUE;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值