简单的方法是通过ODBC来实现:
具体实现
一、 包含Excel文件 *** 作类头文件
#include "CSpreadSheeth"
二、 新建Excel文件,并写入默认数据
// 新建Excel文件名及路径,TestSheet为内部表名
CSpreadSheet SS("c:\\Testxls", "TestSheet");
CStringArray sampleArray, testRow;
SSBeginTransaction();
// 加入标题
sampleArrayRemoveAll();
sampleArrayAdd("姓名");
sampleArrayAdd("年龄");
SSAddHeaders(sampleArray);
// 加入数据
CString strName[] = {"徐景周","徐志慧","郭徽","牛英俊","朱小鹏"};
CString strAge[] = {"27","23","28","27","26"};
for(int i = 0; i < sizeof(strName)/sizeof(CString); i++)
{
sampleArrayRemoveAll();
sampleArrayAdd(strName[i]);
sampleArrayAdd(strAge[i]);
SSAddRow(sampleArray);
}
SSCommit();
三、 读取Excel文件数据
CSpreadSheet SS("c:\\Testxls", "TestSheet");
CStringArray Rows, Column;
//清空列表框
m_AccessListResetContent();
for (int i = 1; i <= SSGetTotalRows(); i++)
{
// 读取一行
SSReadRow(Rows, i);
CString strContents = "";
for (int j = 1; j <= RowsGetSize(); j++)
{
if(j == 1)
strContents = RowsGetAt(j-1);
else
strContents = strContents + " --> " + RowsGetAt(j-1);
}
m_AccessListAddString(strContents);
}
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
请教各位,还请多多帮忙,多谢了!!急撒!
解析:
C语言只认文本文件。
数据使用结构体(USERDATA),你就用 fread(&USERDATA,sizeof(USERDATA),1,fp)!=1
要是普通格式,就用fread()
当然,使用之前要打开文件,使用fopen
函数具体用法,在C中按F1键有详细的说明。
你好,
EXCEL支持csv(comma
seperated
value)
文件格式的读入,也就是“用逗号分隔的值”的形式。例如你有一组数据:
/
姓名 年龄 班级
张三 22 12
/它的CSV表示格式就是:
/
姓名,年龄,班级
张三,22,12
,,
/EXCEL支持CSV格式,它可以打开CSV文件,并且CSV文件中的一个“,”对应的就是EXCEL表格中的一列的分界线。所以,你的C语言输出成CSV格式的文件就可以直接被EXCEL读入了。
例如:
#include
struct MyData {
char name; //姓名
int age; //年龄
int grade; //班级
};
int write_to_csv(int count, struct MyData data)
{
FILE f = fopen("Mydatacsv", "w"); //写Mydata到Mydatacsv
if (f == NULL) return -1;
for (int i=0; i<count; i++) //这里的count是你的MyData的个数
{
//fprintf的用法和printf一致,只是它是写入文件的。
fprintf(f,"%d,%s,%f\n",data[i]name, data[i]age, data[i]grade);
}
fclose(f);
return 0;
}谢谢,望采纳。
以上就是关于在EXCEL中如何编写程序全部的内容,包括:在EXCEL中如何编写程序、如何将C语言的输出倒入Excel工作表、如何将excel中的数据导入到c语言中的数组中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)