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 為字...