C 讀取EXCEL檔案的三種經典方法

2021-06-20 12:34:56 字數 2533 閱讀 6537

1.方法一:採用oledb讀取excel檔案:

把excel檔案當做乙個資料來源來進行資料的讀取操作,例項如下:

public dataset exceltods(string path) 

對於excel中的錶即sheet([sheet1$])如果不是固定的可以使用下面的方法得到 

string strconn = "provider=microsoft.jet.oledb.4.0;" +"data source="+ path +";"+"extended properties=excel 8.0;"; 

oledbconnection conn = new oledbconnection(strconn); 

datatable schematable = objconn.getoledbschematable(system.data.oledb.oledbschemaguid.tables,null); 

string tablename=schematable.rows[0][2].tostring().trim();   

另外:也可進行寫入excel檔案,例項如下:

public void dstoexcel(string path,dataset oldds) 

newds.tables["table1"].rows.add(nrow); 

} mycommand.update(newds,"table1"); 

myconn.close(); 

} 2.方法二:引用的com元件:microsoft.office.interop.excel.dll   讀取excel檔案

首先是excel.dll的獲取,將office安裝目錄下的excel.exe檔案copy到dotnet的bin目錄下,cmd到該目錄下,執行 tlbimp excel.exe excel.dll 得到dll檔案。 再在專案中新增引用該dll檔案.

//讀取excel的方法   (用範圍區域讀取資料)

private void openexcel(string strfilename)

else

response.write(arry[0, 0] + " / " + arry[0, 1] + "#" + arry[rowsint - 2, 0] + " / " + arry[rowsint - 2, 1]);

}excel.quit(); excel = null;

process procs = process.getprocessesbyname("excel");

foreach (process pro in procs)

gc.collect();

}先引用命名空間:using system.text;和using system.io;

filestream fs = new filestream("d:\\customer.csv", filemode.open, fileaccess.read, fileshare.none);

streamreader sr = new streamreader(fs, system.text.encoding.getencoding(936));

string str = "";

string s = console.readline();

while (str != null)

}   sr.close();

另外也可以將資料庫資料匯入到乙個txt檔案,例項如下:

//txt檔名

string fn = datetime.now.tostring("yyyymmddhhmmss") + "-" + "po014" + ".txt";

oledbconnection con = new oledbconnection(constr); 

con.open();

string sql = "select item,reqd_date,qty,pur_***,po_num from tsd_po014";        

//oledbcommand mycom = new oledbcommand("select * from tsd_po014", mycon);

//oledbdatareader myreader = mycom.executereader(); //也可以用reader讀取資料

dataset ds = new dataset();

oledbdataadapter oda = new oledbdataadapter(sql, con);

oda.fill(ds, "po014");

datatable dt = ds.tables[0];

streamwriter strmwriter = new streamwriter(fs);    //存入到文字檔案中 

//把標題寫入.txt檔案中 

//for (int i = 0; i //foreach (datarow dr in dt.rows)

strmwriter.flush();

strmwriter.close();

if (con.state == connectionstate.open)

C 讀取EXCEL檔案的三種經典方法

1.方法一 採用oledb讀取excel檔案 把excel檔案當做乙個資料來源來進行資料的讀取操作,例項如下 public dataset exceltods string path 對於excel中的錶即sheet sheet1 如果不是固定的可以使用下面的方法得到 string strconn ...

C 讀取EXCEL檔案的三種經典方法

1.方法一 採用oledb讀取excel檔案 把excel檔案當做乙個資料來源來進行資料的讀取操作,例項如下 public dataset exceltods string path 對於excel中的錶即sheet sheet1 如果不是固定的可以使用下面的方法得到 string strconn ...

c 讀取整個txt檔案三種方式

include include include include using std cout using std endl using std ifstream using std ofstream using std string using std vector using std cerr v...