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

VC6操作Excel2003

2017年11月29日 ⁄ 综合 ⁄ 共 1442字 ⁄ 字号 评论关闭

1. 新建Appwizard(exe),基于对话框;

2. 打开MFC ClassWizard窗口(查看—>建立类向导),选择Automation,单击Add Class按钮,选择From a type library...,弹出文件选择对话框,之后定位到Microsoft Office的安装目录(通常为C:\Program Files\Microsoft Office\Office),选择EXCEL.exe,确定后,弹出Confirm Classes窗口,选择列表中的所有类,单击OK按钮。

  (excel97:Excel8.olb,excel2000:Excel9.olb,excel2000,2003:EXCEL.exe).

3.

打开stdafx.h头文件确保包含如下头文件:

#include <afxdisp.h>

#include "excel.h"

4.

操作EXCEL文件

1.    选择ResourceView工作区,打开IDD_TESTEXCEL_DIALOG,在对话框中添加一个按钮控件Button1,双击它,生成一个Button1 Click事件的处理函数:
2.   在OnButton1()函数中,添加代码:

void CTestExcelDlg::OnButton1()

{
_Application app;
Workbooks books;
_Workbook book;
Sheets sheets;//Sheets 
_Worksheet sheet;

Range range;
Font font;
Range cols;
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
if(!AfxOleInit())  

        AfxMessageBox("无法初始化COM的动态连接库!"); 
        return ; 
    } 
if( !app.CreateDispatch("Excel.Application") ){
this->MessageBox("无法创建Excel应用!");
return;
}
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("HELLO EXCEL!"));//SetValue2
font=range.GetFont();
font.SetBold(COleVariant((short)TRUE));
range=sheet.GetRange(COleVariant("A2"),COleVariant("A2"));
// range.SetFormula(COleVariant("=RAND()*100000"));
range.SetFormula(COleVariant("100000"));
range.SetNumberFormat(COleVariant("$0.00"));
cols=range.GetEntireColumn();
cols.AutoFit();

app.SetVisible(TRUE);
app.SetUserControl(TRUE);
}

4.完成

【上篇】
【下篇】

抱歉!评论已关闭.