c++ builder 写入excel初探

本文介绍了如何在C++Builder中不依赖第三方库的情况下,通过`Comobj.hpp`实现Excel的基本操作,如创建Excel应用、打开工作簿、修改单元格并新建工作表。适合初学者理解基础COM编程在Excel操作中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 在安装完c++ builder中,在不用第三方库的情况下,进行excel写入,需要安装excel软件。

//需要有这行头文件 #include "Comobj.hpp"

//程序是可以运行的。

//新建个窗体程序,在画面上放1个按钮,双击按钮,添加如下程序。

 Variant my_excel;//应用
  Variant all_workbooks;//工作薄集合
  Variant my_workbook;//工作薄
  Variant my_worksheets;//表单集合
  Variant my_worksheet; //表单
  Variant my_cell; //单元格
  Variant temp;
  Variant New_sheet; //表单;
   try
    {
     my_excel=CreateOleObject("excel.Application");//启动Excel
    }
    catch(...)
    {
     //MessageBox(GetFocus(),"无法启动Excel","警告",MB_OK|MB_ICONSTOP);
     Abort();
    }
    all_workbooks=my_excel.OlePropertyGet("WorkBooks");
    Procedure Open("Open");
    my_excel.OlePropertySet("Visible",(Variant)true); //使Excel启动后可见
    my_workbook=all_workbooks.OleFunction("Add");//新建一个工作薄
    my_workbook=my_excel.OlePropertyGet("ActiveWorkbook");//设建立的工作薄为活动工作薄
    my_worksheets = my_workbook.OlePropertyGet("Sheets");//获得表单集合
    int n=my_worksheets.OlePropertyGet("Count");//获取表单总数
    for (int i = 0; i < n; i++)//遍历所有表单,这里只有1个表格
    {    //由索引获得表格,索引从1开始
        my_worksheet= my_workbook.OlePropertyGet("Sheets", i+1);
    }
    AnsiString SheetName = my_worksheet.OlePropertyGet("Name");//读取表单的名称
    OutputDebugStringA(SheetName.c_str());
    WideString str="1";
    my_worksheet.OlePropertySet("Name",str);//设定表单的名称
    my_cell=my_excel.OlePropertyGet("Cells",1,1);//获得单元格
    my_cell.OlePropertySet("Value",Variant(str)); //设定单元格的值
  

     //新建的表单,在my_worksheet之后            

     my_worksheets.OleProcedure("Add",temp.NoParam(),my_worksheet);                                           

     New_sheet= my_workbook.OlePropertyGet("Sheets", 2);//取得刚才建的表格
     New_sheet.OlePropertySet("Name",WideString("2"));//设定表单的名称
     my_excel.OleFunction("Quit");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值