2、VC 设置EXCEL单元格的格式

本文介绍如何在Excel中将单元格设置为文本格式,包括使用VARIANT数据类型进行参数传递、创建Excel应用实例、添加和操作工作簿与工作表、设置单元格格式等步骤,并详细解释了文本、数值、日期和百分比格式的使用方法。

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

示例---将所有单元格设置为文本格式:

 

[cpp]  view plain copy
  1. _Application app;       //Excel应用程序接口  
  2. Workbooks books;        //工作薄集合  
  3. _Workbook book;     //工作薄  
  4. Worksheets sheets;      //工作表集合  
  5. _Worksheet sheet;       //工作表  
  6. Range range;            //Excel中针对单元格的操作都应先获取其对应的Range对象  
  7. Font font;  
  8. Range cols;  
  9. /* 
  10. COleVariant类为VARIANT数据类型的包装,在自动化程序中,通常都使用 
  11. VARIANT数据类型进行参数传递。故下列程序中,函数参数都是通过COleVariant 
  12. 类来转换了的。 
  13. */  
  14. //covOptional 可选参数的VARIANT类型  
  15. COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);  
  16.   
  17. if( !app.CreateDispatch(L"Excel.Application") ){  
  18.     this->MessageBox(L"无法创建Excel应用!");  
  19.     return;  
  20. }  
  21.   
  22. //获取工作薄集合  
  23. books=app.GetWorkbooks();  
  24. //添加一个工作薄  
  25. book=books.Add(covOptional);  
  26. //获取工作表集合  
  27. sheets=book.GetSheets();  
  28. //获取第一个工作表  
  29. sheet=sheets.GetItem(COleVariant((short)1));  
  30.   
  31.   
  32. range.AttachDispatch(sheet.GetCells(),TRUE);//加载所有单元格   
  33. range.SetNumberFormat(COleVariant(L"@")); //将单元格设置为文本类型  
  34.   
  35. //合并单元格  
  36. //加载要合并的单元格   
  37. range.AttachDispatch(sheet.GetRange(COleVariant(_T("A1")),COleVariant(_T("D1"))),TRUE);   
  38. range.Merge(COleVariant((long)0));   
  39.   
  40.   
  41.   
  42. range.AttachDispatch(sheet.GetCells(),TRUE);//加载所有单元格   
  43. range.SetItem(COleVariant((long)1),COleVariant((long)1),COleVariant(_T("数学系研究生课程统计")));  //A1  
  44. range.SetItem(COleVariant((long)2),COleVariant((long)1),COleVariant(_T("课程名")));              //A2  
  45. range.SetItem(COleVariant((long)2),COleVariant((long)2),COleVariant(_T("课时")));                //B2  


 

   函数 SetNumberFormat() 用于设置单元格的格式,但是首先我们必须知道所有格式的标记。

 

文本类:
1
指定内容按文本显示,主要用于编码、手机号等用数字表示的文本。设定该格式后,可以保证导出excel时,此类文本不会被转成数字显示。

数值类:
1
 0.00 表示两位小数,例如3.10367显示为3.10
2
 0.## 表示两位小数,当小数末位为0时,0将不显示。例如3.10显示为3.1
3
 "#,##0.00 "表示两位小数,且显示千份位
4
 #,##0.00;[Red]#,##0.00 表示负数红字 
5
0.00;[Red]0.00;" " 表示负数红字,且数据为0时不显示
6
0.00;[Red](0.00);" "表示正数时两位小数,负数时两位小数并显示红色,0时不显示。0.00;[Red](0.00)只是一个示例,可以为任意的数字格式串,后边再加上;" "(空格)即表示数据为0时不显示。

日期类:
1
 yyyy-m-d 
2
 yyyy-MM-dd 
3
 yyyy-MM-dd hh:mm:ss
4
 yyyyMMdd

百分比:
1
0% 
2
0.00%

详细请打开Excel2003,单元格右键,设置单元格格式,选一种格式,点自定义即可看到该格式的格式串;有的Excel格式串后有带”_”,在使用时,必须去掉。

 

 本文出自:http://blog.youkuaiyun.com/shuilan0066/article/details/7925023

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值