pc操作系统情况:
    Windows XP,office 2003,vc6
经过半下午的搜索发现了vc操作Excel的几种方法
1、ODBC。
    暂时还没有试。
2、OLE,即com的方式。
    这种方法可能和Excel的版本有关系。
    在网上下载了一个基于office2000的代码,在自己的电脑上编译后,可以运行。
    自己建立一个工程,
    1)按ctrl-w,add class,from a type library,选择目录C:/Program Files/Microsoft Office/OFFICE11/XL5EN32.OLB,在Confirm Classes中选择Application,Range,Workbook,Workbooks,Worksheet,Worksheets后确认。
    2)在App::InitInstance()中增加com初始化。  
     if (CoInitialize(NULL)!=0)
        {
            AfxMessageBox("初始化COM支持库失败!");
            exit(1);
        }
       com的释放
    CoUninitialize();
    3)在dlg.cpp中添加
    #include "xl5en32.h"
    4)将如下代码(office 2000 可用代码)
    Application ExcelApp;
    Workbooks wbsMyBooks;
    Workbook wbMyBook;
    Worksheets wssMysheets;
    Worksheet wsMysheet;
    Range rgMyRge;    
    //创建Excel 2000服务器(启动Excel)
    if (!ExcelApp.CreateDispatch("Excel.Application",NULL))
    {
        AfxMessageBox("创建Excel服务失败!");
        exit(1);
    }
    //ExcelApp.SetVisible(false);
    VARIANT tmp;
    tmp.boolVal=false;
    ExcelApp.SetVisible(tmp);

//利用模板文件建立新文档
    char path[MAX_PATH];
    GetCurrentDirectory(MAX_PATH,path);
    CString strPath = path;
    strPath += "//template1";
   
    wbsMyBooks.AttachDispatch(ExcelApp.GetActiveWorkbook(),true);
    wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t(strPath)));
    //得到Worksheets
    wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);
    //得到sheet1
    wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true);
    //添加模板个数
    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("21:12");
    rgMyRge.SetItem(_variant_t((long)7),_variant_t((long)3),_variant_t(str));
    rgMyRge.SetItem(_variant_t((long)9),_variant_t((long)3),_variant_t(str));
    rgMyRge.SetItem(_variant_t((long)7),_variant_t((long)4),_variant_t(str));
    rgMyRge.SetItem(_variant_t((long)8),_variant_t((long)4),_variant_t(str));
    rgMyRge.SetItem(_variant_t((long)9),_variant_t((long)4),_variant_t(str));
    rgMyRge.SetItem(_variant_t((long)10),_variant_t((long)4),_variant_t(str));
    rgMyRge.SetItem(_variant_t((long)11),_variant_t((long)4),_variant_t(str));
    rgMyRge.SetItem(_variant_t((long)12),_variant_t((long)4),_variant_t(str));
    //将表格保存
    strPath = path;
    strPath += "//ylhexcel.xls";
    wsMysheet.SaveAs(strPath,vtMissing,vtMissing,vtMissing,vtMissing,
        vtMissing,vtMissing,vtMissing,vtMissing);
    ExcelApp.SetVisible(true);
    wbMyBook.PrintPreview(_variant_t(false));
    //释放对象
    rgMyRge.ReleaseDispatch();
    wsMysheet.ReleaseDispatch();
    wssMysheets.ReleaseDispatch();
    wbMyBook.ReleaseDispatch();
    wbsMyBooks.ReleaseDispatch();
    ExcelApp.ReleaseDispatch();
    这样之后会有很多异常。
    验证了和office 的版本有关系。
3、基于Excel文件格式的控制。 
     暂时还没有试。

vc操作Excel。相关推荐

  1. VC操作Excel文件编程相关内容总结

    最近在做个数据库程序,因为有些数据用户要求导出到Excel文件显示(需要报给其他单位).所以查阅了一下相关的VC的Excel编程操作,总结一下吧:(所有资料来源于网络) 利用VC操作Excel的方法至 ...

  2. VC操作excel表格

    VC操作excel表格(一) 1.The require files When you start to program in VC, you must have the lib files of E ...

  3. VC 操作excel

    简介 通过本文及配套示例源码你可以更加灵活的控制Excel表格文件,其中包括创建新Excel文件.写入表格数据.读取表格数据(包括对原建Excel文件自已手工添加的行.列数据的准确读取),删除已有Ex ...

  4. VC操作Excel之sercies、Trendline

    演示一下如何通过VC操作Excel生成下面这样的一个图表,它有两个系列,每个系列都拥有自己的X轴数据和Y轴数据,同时显示其线性的渐近线(TrendLine)以及获取其渐近线公式,因为在项目当中有时候需 ...

  5. VC操作Excel收集

    VC操作Excel的方法(2007-01-05 21:18:45)      A:从classwizard中add class处from type library,去office的安装目录下引入exc ...

  6. 使用VB或VC操作Excel 2003

    1.VB操作EXCEL2003 [vb] view plaincopy '*************************************************************** ...

  7. vc操作excel,包括合并单元格,新增,删除sheet,设置字体,底色(OLE/COM)

    1.制作应用软件的时候,经常要把结果以报表的形式输出,当前使用较为广泛的当然是Excel表格,本文简略介绍在VC++6.0中如何使用Excel2003的库函数并对其进行编程.先创建一个对话框工程,命名 ...

  8. VC操作Excel之用ChartWizard自动生成图表

    在用VC操作Excel的时候,生成图表有时是不可避免的,这里记下如何通过ChartWizard来简单生成一个图表.首先我们得了解一下图表的组成结构,一个简单的chart通常包括标题.绘图区.图例.数值 ...

  9. VC++操作EXCEL内存泄露问题

    一般VC++操作EXCEL的操作步骤我就不写了,度娘一下一大堆. 好久以前写在博客里面的一篇草稿,现在博客开张了,一并放出来吧. 2014年11月为了EXCEL的"切换到.重试.取消&quo ...

最新文章

  1. 判断一个变量是不是指针
  2. 去除图片水印_只需一键,即可快速去除图片水印!如此简单的方法,谁不知谁吃亏...
  3. oracle 中的几天后,几年后
  4. Selenium-基础操作
  5. python 获取浏览器句柄下的网页控件,Python获取浏览器窗口句柄过程解析
  6. python编程从入门到实践之外星人入侵
  7. KNN分类算法原理与Python+sklearn实现根据身高和体重对体型分类
  8. 最受互联网争抢的web前端工程师
  9. 生产是什么意思_俗话说:“牛遇无春年,出力好耕田”是啥意思?有什么道理?...
  10. 【演化计算】【论文研读】Surrogate-Assisted Evolutionary DL Using E2E Random Forest-based Performance Predictor
  11. RubyGem version error: rack(1.0.0 runtime)
  12. 通达OA 指纹考勤机接口 源代码
  13. 参考文献空格怎么空_参考文献中的标点符号后要不要加空格
  14. 若依源码学习7:Excel 导入导出
  15. 知乎|10个程序员必备免费电子书下载网站
  16. UVA 12307 Smallest Enclosing Rectangle(旋转卡壳)
  17. 微信小程序 - 婚礼邀请函
  18. python基本输入输出函数有_python基本输入输出函数与变量类型
  19. mnist数据集在FATE上应用
  20. 北京计算机数字媒体技术大学排名,学习数字媒体技术在北京有哪些好大学,排名?...

热门文章

  1. 铁威马NAS中如何进行文件管理设置
  2. nrf2401 - 最廉价的2.4G无线通信方案
  3. cgb2007-京淘day04
  4. Arduino UNO + DS1302简单获取时间并串口打印
  5. C语言实现时间戳转年月日时分秒格式
  6. python安装错80072ee2_win7更新错误80072ee2怎么解决-解决win7更新错误80072ee2的方法 - 河东软件园...
  7. 利用python解析地址经纬度和利用经纬度定位地址
  8. Error (10028): Can't resolve multiple constant drivers for net cnt[19] at key.v(95)
  9. 灰姑娘的魔法衣橱 RENT THE RUNWAY= 女人+互联网 | 经济学人全球早报精选
  10. Android中获取屏幕宽度(利于屏幕适配)