一、变量定义

CApplication app;//Excel应用程序接口CWorkbooks books; //工作薄集合CWorkbook book;//工作薄CWorksheets sheets; //工作表集合CWorksheet sheet;//工作表CRange range; //Excel中针对单元格的操作都应先获取其对应的Range对象CFont0 font;CRange cols;CRange iCell;LPDISPATCH lpDisp;COleVariant vResult;COleVariantcovTrue((short)TRUE);COleVariant covFalse((short)FALSE);COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);

二、初始化

//初始化if (!app.CreateDispatch("Excel.Application")){this->MessageBox("无法创建Excel应用!");return;}app.put_Visible(FALSE); //可见app.put_UserControl(TRUE); //用户可控制//打开XLS文件books.AttachDispatch(app.get_Workbooks());lpDisp = books.Open("C:\\test\\excel\\test.xlsx",covOptional, covOptional, covOptional, covOptional, covOptional,covOptional, covOptional, covOptional, covOptional, covOptional,covOptional, covOptional, covOptional, covOptional);book.AttachDispatch(lpDisp);sheets.AttachDispatch(book.get_Worksheets());

三、Range.Cells

1、用途

返回一个 Range 对象,它表示指定区域中的单元格

2、备注

返回值为由单个单元格组成的 Range,它允许结合使用 Item 版本与两个参数,并让 For Each 循环遍历单个单元格。

Range 的默认成员将包含参数的调用转发至 Item 属性,因此,可以将行和列索引指定在紧跟 Cells 关键字之后,而不是显式调用 Item。

如果使用 Cells 但不使用对象限定符,则等效于 ActiveSheet.Cells。

3、示例

下列代码是返回当前sheet中指定单元格(例中当前使用单元格)的rang对象

LPDISPATCH lpSheets = sheets.get_Item(_variant_t(1));sheet.AttachDispatch(lpSheets);range.AttachDispatch(sheet.get_UsedRange());range.get_Cells();

Worksheet.Cells

微软参考说明

用途

返回一个 Range 对象,该对象表示工作表上的所有单元格 (而不仅仅是当前正在使用) 的单元格。

备注

Range 的默认成员将包含参数的调用转发至 Item 属性,因此,可以将行和列索引指定在紧跟 Cells 关键字之后,而不是显式调用 Item。

在不使用对象识别符的情况下,使用此属性将返回一个 Range 对象,它代表活动工作表中所有的单元格。

3、示例

下列代码是返回整个sheet的单元格rang对象

LPDISPATCH lpSheets = sheets.get_Item(_variant_t(1));sheet.AttachDispatch(lpSheets);sheet.get_Cells();