EXCEL匯入匯出

2022-02-20 08:54:30 字數 3213 閱讀 7599

以下演示excel檔案匯入sql server和sql server資料寫入excel檔案。

excel檔案匯入sql server:1.先把excel檔案資料讀取到datatable(使用nopi)

2.把datatable插入sql server(使用sqlbulkcopy)

//

做法:讀取excel資料到datatable,把datatable插入資料庫

string filename=""

; openfiledialog openfile = new

openfiledialog();

openfile.filter = "

excel檔案|*.xls|excel檔案|*xlsx";

openfile.filterindex = 0

; openfile.title = "

選擇檔案";

if (openfile.showdialog() != true

)

filename =openfile.filename;

datetime startimport = datetime.now;//

開始using (filestream filestream = new

filestream(filename, filemode.open))

//寫入資料

for (int i = (sheet.firstrownum + 1); i < rowcount+1; i++)

else

}dt.rows.add(datarow);

}//把datatable寫入sql server

string connectionstring = configurationmanager.connectionstrings["

connstring

"].connectionstring;

sqlbulkcopy sqlbulkcopy = new

sqlbulkcopy(connectionstring);

sqlbulkcopy.destinationtablename="

t_telnumber2";

sqlbulkcopy.writetoserver(dt);

datetime endimport =datetime.now;

messagebox.show((endimport - startimport).tostring(), "

所用時間

", messageboxbutton.okcancel, messageboximage.exclamation);

}

匯入6w多條資料只要3.3秒

sql server資料寫入excel檔案:1.讀取sql server表中的資料到datatable(填充資料集)

2.把datatable寫入excel(npoi)

//

做法:讀取sql server表中的資料到datatable,把datatable寫入excel

datetime startexport = datetime.now;//

開始 datatable dt;//

暫存匯出資料的資料表

string connectionstring = configurationmanager.connectionstrings["

connstring

"].connectionstring;

using (sqlconnection conn = new

sqlconnection(connectionstring))

}//使用npoi將dt寫入excel

//使用npoi前先引用程式集(npoi,npoi.ooxml),再引用命名空間(npoi.hssf.usermodel,npoi.xssf.usermodel,npoi.ss.usermodel)

hssfworkbook workbook = new

hssfworkbook();

isheet sheet=workbook.createsheet("

號碼歸屬地");

irow headrow = sheet.createrow(0);//

編寫標題列

headrow.createcell(0, celltype.numeric).setcellvalue("id"

); headrow.createcell(

1, celltype.string).setcellvalue("

starttelnumber");

headrow.createcell(

2, celltype.string).setcellvalue("

teltype");

headrow.createcell(

3, celltype.string).setcellvalue("

telarea");

for (int i = 0; i < 65535; i++)//

excel2003最大只能儲存65536行

filestream filestream = new filestream("

telnumber.xls

",filemode.create);

workbook.write(filestream);

datetime endexport=datetime.now;

messagebox.show((endexport-startexport).tostring(),"

所用時間

疑惑:npoi中使用hssfworkbook最大只能建立65536行資料(excel 2003格式),使用xssfworkbook最大可以1048576行資料(excel 2007以上格式)

但不知道為什麼在使用xssfworkbook建立行並寫入資料時變得非常慢,假設同樣建立65536行資料xssfworkbook比hssfworkbook慢n倍。

excel匯入匯出

匯出 yii框架中 header content disposition attachment filename 123.xls arr connection createcommand select from recruit queryall array this db get recruit r...

EXCEL匯入匯出

系統管理員登入,系統下資源管理 分機號列表內容匯出 suppresswarnings rawtypes responsebody public jsonobject selectfenjihaoinxitongforexportbyparam requestparam value fenjihao ...

excel匯入匯出

匯出 匯出相對比較簡單在控制層的關鍵 為 string filename 成果資料 dateutils.getdate yyyymmddhhmmss xlsx listpersonneltitlelist personneltitleservice.findlist personneltitle n...