本文目錄一覽:
C語言怎麼操縱Excel表格
簡單的方法是通過ODBC來實現:
具體實現
一、 包含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);
}
C語言如何生成EXCEL文件
你好,
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(“Mydata.csv”, “w”); //寫Mydata到Mydata.csv
if (f == NULL) return -1;
for (int i=0; icount; i++) //這裡的count是你的MyData的個數
{
//fprintf的用法和printf一致,只是它是寫入文件的。
fprintf(f,”%d,%s,%f\n”,data[i].name, data[i].age, data[i].grade);
}
fclose(f);
return 0;
}謝謝,望採納。
C語言如何操作excel文件?
如果數據簡單的話,可以使用CSV(逗號分隔值)格式的文件。CSV格式的文件可以用Office Excel 打開。比如有要保存的一張表格是這樣的:
—————-表格開始——————-
編號 姓名 性別
1 A 男
2 B 女
3 C 男
—————表格結束——————–
那麼在保存CSV文件裏面數據格式是這樣的:
—————-內容開始—————-
編號,姓名,性別
1, A, 男
2, B, 女
3, C, 男
—————-內容結束—————-
用Excel打開是這樣的:
下面是示例程序:
#include stdio.h
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;istudensAmount;i++)
{
fprintf(file,"%d%,%s,%s\n",studens[i].id,studens[i].name,studens[i].gender);
}
}
fclose(file);
return 0;}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/296061.html