using system;
using system.collections;
using system.collections.generic;
using system.text;
using system.data;
using system.data.oledb;
namespace myexcel
return "
provider
=microsoft
.jet.oledb.4.0;extended
properties
=\"excel 8.0;
hdr=
no;\";data
source
=" + phyfilepath;
} ///
<
summary
>
/// 獲取操作連線字串
///
summary
>
///
<
param
name
="phyfilepath"
>
param
>
///
<
returns
>
returns
>
private static string getreadconnstr(string phyfilepath)
return "
provider
=microsoft
.jet." +
"oledb.4.0;extended
properties
=\"excel 8.0;
hdr=
yes;
imex=1
\";data
source
="+phyfilepath;
} public static datatable getexceldatatable(string phyfilepath)
oledbdataadapter
oada
= new
oledbdataadapter("select * from [" + sheetname + "]", conn);
dataset
ds=
newdataset();
oada.fill(ds, "initdata");
datatable
= ds
.tables["initdata"];
} }
catch (exception ex)
finally
return datatable;
} public static datatable getexcelsheettable(string phyfilepath)
} catch (exception ex)
finally
return datatable;
} public static datatable getexcelsheettable(string phyfilepath,string sheetname)
} catch (exception ex)
finally
return datatable;
} public static void excelcoldataupdate(string phyfilepath, string sheetname,string setvalue,string where)
} catch (exception ex)
finally
} public static void excelcoldatainsert(string phyfilepath, string sheetname, string columnnames, string values)
} catch (exception ex)
finally
} public static void excelvoucherdatainsert(string filepath, string sheetname, datatable dt)
} } catch (exception ex)
} public static void excelvoucherdatainsert(string filepath, string sheetname, string itemclass , string number , string name)
} catch(exception ex)
} public static void excelcoldatainsert(string phyfilepath, string sheetname, string columnname, string values)
} } catch (exception ex)
finally
} } }
編寫連線與操作excel檔案的通用函式
**protected void doolesql(string sql, string database)
catch (exception e)
oledbcommand
olecommand
= new
oledbcommand(sql, conn);
try
catch (exception eee)
finally
conn.close();
} 注:1)使用 excel 工作簿時,預設情況下,區域中的第一行是標題行(或欄位名稱)。如果第乙個區域不包含標題,您可以在連線字串的擴充套件屬性中指定 hdr=no。如果您在連線字串中指定 hdr=no,jet ole db 提供程式將自動為您命名字段(f1 表示第乙個字段,f2 表示第二個字段,依此類推);2)imex=1將所有讀入資料看作字元,其他值(0、2)請查閱相關幫助文件;3)如果出現「找不到可安裝的isam」錯誤,一般是連線字串錯誤
3、從excel檔案讀取資料
string sql = "select * from [sheet1$]";
doolesql(sql,"test.xls");
4、更新excel檔案中的資料
string sql = "update [sheet1$] set fieldname1='333' where fieldname2='b3'";
doolesql(sql,"test.xls");
5、向excel檔案插入資料
string sql = "insert into [sheet1$](fieldname1,fieldname2,…) values('a',』b』,…)";
doolesql(sql,"test.xls");
6、刪除excel檔案中的資料:不提倡使用這種方法
7、對於非標準結構的excel**,可以指定excel中sheet的範圍
1)讀取資料:string sql = "select * from [sheet1$a3:f20]";
2)更新資料:string sql = "update [sheet1$a9:f15] set fieldname='333' where anotherfieldname='b3'";
3)插入資料:string sql = "insert into [sheet1$a9:f15](fieldname1,fieldname2,…) values('a',』b』,…)";
4)刪除資料:不提倡
注:1)**根據需要可以自行修改;2)如果出現「操作必須使用乙個可更新的查詢」錯誤,可能sql語句中對excel檔案中的「字段」引用有錯誤,或對 excel檔案不具有「修改」許可權;3)如果出現「不能擴充選定範圍」錯誤,可能是對excel檔案引用的「範圍」有錯誤。
將Excel資料匯入到SQL Server資料庫中
1 接受資料匯入的表已經存在。insert into t1 select from openrowset microsoft.jet.oledb.4.0 excel 5.0 hdr yes database c test.xls sheet1 2 匯入資料並生成表。select into t1 fr...
將Excel資料匯入到SQL Server資料庫中
這個方法是到目前為止我見到最好的方法,還有幾個要注意的問題也在下面提到了哦!其中還涉及到要注意到地方都在下面累出來了 1 接受資料匯入的表已經存在。insert into t1 select from openrowset microsoft.jet.oledb.4.0 excel 5.0 hdr ...
將Excel匯入到Oracle
private void btninsert click object sender,eventargs e dataset ds 插入資料庫方法 private void insertdbmeth 如果查到了資料,才使控制分頁按鈕生效 if odr 0 conn.close catch excep...