WEB开发网
开发学院软件开发VC 针对Excel表格文件操作的编程实现 阅读

针对Excel表格文件操作的编程实现

 2008-04-19 20:27:46 来源:WEB开发网   
核心提示:简介通过本文及配套示例源码你可以更加灵活的控制Excel表格文件,其中包括创建新Excel文件、写入表格数据、读取表格数据(包括对原建Excel文件自已手工添加的行、列数据的准确读取),针对Excel表格文件操作的编程实现,删除已有Excel表格,对表格中指定行、列、单元格进行查询、插入、替换等操作,并且可以对该类进行

简介

通过本文及配套示例源码你可以更加灵活的控制Excel表格文件,其中包括创建新Excel文件、写入表格数据、读取表格数据(包括对原建Excel文件自已手工添加的行、列数据的准确读取),删除已有Excel表格,对表格中指定行、列、单元格进行查询、插入、替换等操作,同时还可以将生成的Excel文件转换为按指定分隔符分隔的其它文本格式的文件。下面是把此方法用VC6编写的示例程序运行效果:

基本思路

基础实现方法同上篇文章《直接通过ODBC读、写Excel表格文件》相同,都是通过ODBC来把Excel表格文件当成数据库文件来进行读、写等操作,所以在Excel表格文件中写入的行头名必须是唯一的(不要重名,相当于数据库中的ID值)。本文中对Excel文件的操作都被封装进一个类CSpreadSheet中,通过它我们可以非常简便的实现各种Excel表格数据操作,并且可以对该类进行扩充来满足自己的需求。

具体实现

一、 包含Excel文件操作类头文件

#include "CSpreadSheet.h"二、 新建Excel文件,并写入默认数据

// 新建Excel文件名及路径,TestSheet为内部表名
CSpreadSheet SS("c:\\Test.xls", "TestSheet");
CStringArray sampleArray, testRow;
  
SS.BeginTransaction();
  
// 加入标题
sampleArray.RemoveAll();
sampleArray.Add("姓名");
sampleArray.Add("年龄");
SS.AddHeaders(sampleArray);
// 加入数据
CString strName[] = {"徐景周","徐志慧","郭徽","牛英俊","朱小鹏"};
CString strAge[] = {"27","23","28","27","26"};
for(int i = 0; i < sizeof(strName)/sizeof(CString); i++)
{
  sampleArray.RemoveAll();
  sampleArray.Add(strName[i]);
  sampleArray.Add(strAge[i]);
  SS.AddRow(sampleArray);
}
  
SS.Commit();

三、 读取Excel文件数据

CSpreadSheet SS("c:\\Test.xls", "TestSheet");
CStringArray Rows, Column;
//清空列表框
m_AccessList.ResetContent();
for (int i = 1; i <= SS.GetTotalRows(); i++)
{
  // 读取一行
  SS.ReadRow(Rows, i);
  CString strContents = "";
  for (int j = 1; j <= Rows.GetSize(); j++)
  {
    if(j == 1)
      strContents = Rows.GetAt(j-1);
    else
      strContents = strContents + " --> " + Rows.GetAt(j-1);
  }
  m_AccessList.AddString(strContents);
}

1 2  下一页

Tags:针对 Excel 表格

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接