將資料匯入到已存在的excel檔案中

2021-09-21 10:06:23 字數 4044 閱讀 5374

crud資料訪問類基類  

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