// 在安装完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");