示例---将所有单元格设置为文本格式:
_Application app; //Excel应用程序接口
Workbooks books; //工作薄集合
_Workbook book; //工作薄
Worksheets sheets; //工作表集合
_Worksheet sheet; //工作表
Range range; //Excel中针对单元格的操作都应先获取其对应的Range对象
Font font;
Range cols;
/*
COleVariant类为VARIANT数据类型的包装,在自动化程序中,通常都使用
VARIANT数据类型进行参数传递。故下列程序中,函数参数都是通过COleVariant
类来转换了的。
*/
//covOptional 可选参数的VARIANT类型
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
if( !app.CreateDispatch(L"Excel.Application") ){
this->MessageBox(L"无法创建Excel应用!");
return;
}
//获取工作薄集合
books=app.GetWorkbooks();
//添加一个工作薄
book=books.Add(covOptional);
//获取工作表集合
sheets=book.GetSheets();
//获取第一个工作表
sheet=sheets.GetItem(COleVariant((short)1));
range.AttachDispatch(sheet.GetCells(),TRUE);//加载所有单元格
range.SetNumberFormat(COleVariant(L"@")); //将单元格设置为文本类型
//合并单元格
//加载要合并的单元格
range.AttachDispatch(sheet.GetRange(COleVariant(_T("A1")),COleVariant(_T("D1"))),TRUE);
range.Merge(COleVariant((long)0));
range.AttachDispatch(sheet.GetCells(),TRUE);//加载所有单元格
range.SetItem(COleVariant((long)1),COleVariant((long)1),COleVariant(_T("数学系研究生课程统计"))); //A1
range.SetItem(COleVariant((long)2),COleVariant((long)1),COleVariant(_T("课程名"))); //A2
range.SetItem(COleVariant((long)2),COleVariant((long)2),COleVariant(_T("课时"))); //B2
函数 SetNumberFormat() 用于设置单元格的格式,但是首先我们必须知道所有格式的标记。
文本类: |
数值类: |
日期类: |
百分比: |
详细请打开Excel2003,单元格右键,设置单元格格式,选一种格式,点自定义即可看到该格式的格式串;有的Excel格式串后有带”_”,在使用时,必须去掉。 |