在c語言中如何將ecel或者中的資料讀入程式中

2021-12-25 08:15:47 字數 3702 閱讀 1902

1樓:一點設計演示

1 使用的名稱空間為:using system.data.oledb;

2 連線資料庫的字串為:

string myconn="provider=microsoft.jet.oledb.4.0;data source=d:\\

目錄.xls;extended properties=\"excel 8.0;hdr=no;imex=1\"";

*.xsl可以認為是資料庫了,hdr表示是否隱藏excel的第一行(因為第一行一般表示欄位名稱)

imex 引數,因為不同的模式代表著不同的讀寫行為:當imex=0 時為「匯出模式」,這個模式開啟的 excel 檔案只能用來做「寫入」用途。

當 imex=1 時為「匯入模式」,這個模式開啟的 excel 檔案只能用來做「讀取」用途。當 imex=2 時為「連結模式」,這個模式開啟的 excel 檔案可同時支援「讀取」與「寫入」用途。

3.oledbconnection myconnection = new oledbconnection(myconn);

4.string mysqlstr = "select f1,f2,f5 from [sheet1$]";

//[sheet1$]就是**了,選取第1,2,5列,用fn表示第n列5 oledbdataadapter mydataadapter = new oledbdataadapter(mysqlstr, myconnection);6 dataset myds = new dataset();7 mydataadapter.fill(myds, "[sheet1$]");

//原理都跟讀取sql是一樣

datatable dt = myconnection.getoledbschematable(system.data.

oledb.oledbschemaguid.tables, null);

//把相關資訊記錄到datatable中

string tbname = dt.rows[0][2].tostring().trim();

//讀取表名資訊【注意】由於excel每個單元格內資料預設的格式為:varchar(255),因此讀取超過255的單元格內容是需要修改登錄檔,這裡提供修改方法:windows registry editor version 5.

00[hkey_local_machine\software\microsoft\jet\4.0\engines\excel]"typeguessrows"="0"表示從前typeguessrows行判斷資料的型別。

2樓:

c語言只認文字檔案。

資料使用結構體(userdata),你就用

要是普通格式,就用fread()

當然,使用之前要開啟檔案,使用fopen

函式具體用法,在c中按f1鍵有詳細的說明。

3樓:古晴

無法可能要將excel轉成.txt檔案

如何用c語言讀入和輸出excel裡的資料?

4樓:匿名使用者

簡單的方法是通過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 = ;

for(int i = 0; i < sizeof(strname)/sizeof(cstring); i++)

ss.commit();

三、 讀取excel檔案資料

cspreadsheet ss("c:\\test.xls", "testsheet");

cstringarray rows, column;

//清空列表框

m_accesslist.resetcontent();

for (int i = 1; i <= ss.gettotalrows(); i++)

m_accesslist.addstring(strcontents);}

5樓:匿名使用者

excel 其實是個資料庫,用資料庫操作方法就可以了!其次是合理運用 \t \r \n就能直接用txt檔案用excel的字尾名!(有資料都輸出到第一個單元格是沒有用 \t \r ,我們在專案中就是直接用二進位制檔案用excel開啟,比較簡單方便 )

c語言讀取excel檔案的資料

6樓:樂跑小子

簡單的方法是通過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 = ;

for(int i = 0; i < sizeof(strname)/sizeof(cstring); i++)

ss.commit();

三、 讀取excel檔案資料

cspreadsheet ss("c:\\test.xls", "testsheet");

cstringarray rows, column;

//清空列表框

m_accesslist.resetcontent();

for (int i = 1; i <= ss.gettotalrows(); i++)

m_accesslist.addstring(strcontents);}

7樓:匿名使用者

無解,excel格式不是公開的。 其他的解決方案是將 excel另存為 csv 格式,這是純文字,然後用讀檔案的方式讀入到陣列。

8樓:

windows裡面好像有相關的api可以使用,直接去查吧

9樓:遺忘與茗記

。。。。這。。。。請用access

在ecel中如何將,在EXCEL中如何將 SUMIF 1001 A 5 A 1004, C 3, 1001 F 5 F 1004 這段函式中的 1001 往下類推

f5 f1004 這樣修改,再下拉 用公來式 sumif indirect 1000 row a1 源 a 5 a 1004 c 3,indirect 1000 row a1 f 5 f 1004 下拉 如果是右拉,需要把公式中row改為column。excel中sumif a,b,c 如何讓a固定...

c語言中如何將數儲存進中當開啟時又能將數讀出

fopen,fwrite fclose c語言如何開啟一個檔案然後修改儲存 假定開始沒有這個檔案,在插入資料時建立檔案。file fp fopen c a.txt wt 這個是開啟以寫或讀的方式開啟檔案。開啟後就可以寫入了,用for迴圈,例如你有4組資料,for int i i 4 i fprint...

C語言中,如何將陣列中的數值轉換成字串輸出

include void inttostr int i,char c,int len 需要注意的是,這裡沒有終結符,故需要知道陣列的 大小 陣列的大小是編譯時常量 char dest str 目標字串dest str char malloc sizeof char sizeof array 1 為字...