乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > c语言怎么引用excel的数据-c 调用excel,在excel

c语言怎么引用excel的数据-c 调用excel,在excel

作者:乔山办公网日期:

返回目录:excel表格制作


如果数据简单的话,可以使用CSV(逗号分隔值)格式的文件。CSV格式的文件可以用OfficeExcel 打开。比如有要保存的一张表格e799bee5baa6e58685e5aeb9332是这样的:
  ----------------表格开始-------------------
  编号 姓名 性别
  1 A 男
  2 B 女
  3 C 男
  ---------------表格结束--------------------
  那么在保存CSV文件里面数据格式是这样的:
  ----------------内容开始----------------
  编号,姓名,性别
  1, A, 男
  2, B, 女
  3, C, 男
  ----------------内容结束----------------
  用Excel打开是这样的:
  下面是示例程序:
  #include
  struct Student
  {
  int id;
  char name[10];
  char gender[3];
  };
  int main(int argc, char *argv[])
  {
  // 在程序所在目录下面,可以看见一个名为 student.csv 的文件
  FILE * file=fopen("student.csv","w");
  struct Student studens[]=
  {
  {1,"A","男"},
  {2,"B","女"},
  {3,"C","男"},
  };
  int studensAmount=sizeof(studens)/sizeof(struct Student);
  int i;
  if(file)
  {
  fprintf(file,"%s%,%s,%s\n","编号","姓名","性别");
  for(i=0;i
  {
  fprintf(file,"%d%,%s,%s\n",studens[i].id,studens[i].name,studens[i].gender);
  }
  }
  fclose(file);
  return 0;
  }


简单的方法是通过ODBC来实现:7a686964616fe4b893e5b19e337
具体实现
一、 包含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);
}

也许 你该去excel里玩vba, 必要时 算法部分用C写dll,给vba调用
也许 你该去 excel里 文件另存为 *.csv(逗号分隔列的txt)然后c去读txt 处理之

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网