CSpreadsheet读写excel方法详细步骤(一)

 由于工作需要,要实现对excel的读写功能,在网上找到了CSpreadSheet类来操作excel,关于CSpreadSheet的相关介绍可以参考:

英文:http://www.codeguru.com/cpp/data/mfc_database/microsoftexcel/article.php/c4307/CSpreadSheet.htm

中文:http://www.oschina.net/question/76782_12420


1.准备工作

开始之前,需要先下载CSpreadSheet类文件。

链接:http://download.csdn.net/download/hao2001/3036187

2.编译成动态库(VS2005)

1).新建项目

选择MFC DLL,名称自定,点击确定。

点击下一步

使用默认,点击完成


创建成功

2).编辑项目

a.修改OperateExcel.h


打开CSpreadSheet.h文件,把需要的内容复制,修改为:


上图圈住的地方就是要修改的地方。

b.修改OperateExcel.cpp

把COperateExcelApp改为CSpreadSheet,如下图:

由于,CSpreadSheet不需要默认构造函数,所以中间那段都注释掉。

然后打开CSpreadSheet.cpp,除了头文件把所有内容都复制过来:

OK。

c.修改配置


到此为止,接下来该编译了,编译完成后,会生成.lib和.dll文件:


3).读写EXCEL

a.先创建一个win32控制台程序

b.将文件OperateExcel.h,Resource.h,stdafx.h,stdafx.cpp,OperateExcel.dll,OperateExcel.lib拷贝到新建项目的程序所在目录下

c.把OperateExcel.h,Resource.h,stdafx.h,stdafx.cpp手动添加到项目中

d.在新建项目的cpp文件中加入OperateExcel.h,stdafx.h头文件

e.在main函数中写入测试代码:

[cpp]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. int main()  
  2. {  
  3.     CSpreadSheet SS("Test.xls""TestSheet");  
  4.   
  5.     CStringArray Rows;  
  6.     CStringArray sampleArray, testRow, Column;  
  7.     CString tempString;  
  8.     char alphabet = 'A';  
  9.   
  10.     SS.BeginTransaction();  
  11.     for (int i = 1; i <= 5; i++)  
  12.     {  
  13.         sampleArray.RemoveAll();  
  14.         for (int j = 1; j <= 5; j++)  
  15.         {  
  16.             tempString.Format("%c%d", alphabet++, i);  
  17.             sampleArray.Add(tempString);  
  18.         }  
  19.         alphabet = 'A';  
  20.         if (i == 1) // Add header rows  
  21.         {  
  22.             SS.AddHeaders(sampleArray);  
  23.         }  
  24.         else // Add data rows  
  25.         {  
  26.             SS.AddRow(sampleArray);  
  27.         }  
  28.     }  
  29.     // Set up test row for appending, inserting and replacing  
  30.     for (int k = 1; k <= 5; k++)  
  31.     {  
  32.         testRow.Add("Test");  
  33.     }  
  34.     SS.AddRow(testRow); // append test row to spreadsheet  
  35.     SS.AddRow(testRow, 2); // insert test row into second row of spreadsheet  
  36.     SS.AddRow(testRow, 4, true); // replace fourth row of spreadsheet with test row  
  37.     SS.Commit();  
  38.   
  39.     printf("Total number of rows = %d\n\n", SS.GetTotalRows());   
  40.   
  41.     return 0;  
  42. }  
f.配置项目

注意:除了按照上面动态库的配置以外,新项目的输入项加入AccessExcel.lib(当前目录)

编译成功后,运行会在项目的当前目录中生成一个Test.xls文件,并且有内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值