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

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

 

[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.csdn.net/shuilan0066/article/details/7925023

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vc导入excel封装类是指在vc(Visual C++)编程环境中,通过封装类的方式实现对Excel文件的导入功能。 首先,需要引入Microsoft Excel的相关函数库,例如使用MFC(Microsoft Foundation Class)库中的COleVariant类和COleDispatchDriver类。这些类提供了对Excel应用程序对象和工作簿对象的封装,可以方便地进行Excel文件的操作。 在导入Excel文件之前,需要先创建一个Excel应用程序对象,可以使用COleDispatchDriver类的CreateDispatch方法来创建。然后,通过应用程序对象的Workbooks属性获取工作簿集合,并使用Add方法创建一个新的工作簿对象。 接下来,可以使用工作簿对象的Open方法打开待导入的Excel文件,并通过工作簿对象的Sheets属性获取工作表集合,再使用索引或名称来获取具体的工作表对象。 对于每个工作表对象,可以使用其Range属性获取指定单元范围的数值。例如,可以使用Range对象的GetValue方法获取单元的数值,并将其存储到自定义的数据结构中,以便后续使用。 最后,完成Excel文件的导入后,需要调用工作簿对象的Close方法关闭文件,并释放相关资源。同时,还需要调用应用程序对象的Quit方法来退出Excel应用程序。 总结起来,实现vc导入Excel封装类需要引入Microsoft Excel的相关函数库,并通过封装类提供的方法来创建应用程序对象、打开Excel文件、获取工作表对象以及获取单元范围的数值等操作。最后,记得关闭文件并退出Excel应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值