匯出——很多人都做過,但是只要真正領悟的人才知道究竟是怎麼實現的:
核心思想: 將資料從資料庫裡取出來,然後賦值輸出,在市面上的匯出更是五花八門,我同事用npoi匯出時需要經過大量的計算,行數列數也相當的多,導致速度超過了10分鐘,專案經理通過另一種方式將匯出優化,稍後將方法給出,今天主要寫個基礎的。
首先自己寫乙個方法:
把datatable資料轉化為excel檔案流
/// /// 把datatable資料轉化為excel檔案流
///
/// datatable源資料
///
///
///
public static memorystream datatoexcelasfile(datatable dt, string sheetname, string filename)
()", sheetname, sheetcount));
sheetcount++;
}int index = i - ((sheetcount - 2) * 50000);
npoi.ss.usermodel.irow row = sheet.createrow(index);
var rw = dt.rows[i];
for (int j = 0; j < columnslength; j++)
else}}
system.io.memorystream ms = new system.io.memorystream();
book.write(ms);
book = null;
return ms;
}
在使用的時候:
public actionresult getdataexport()
; foreach (var item in bartitle)
datatable tbbody = new datatable("tb");
foreach (var item in stu)
tbbody.columns.add(item);
var rw = tbbody.newrow();
for (int i = 0; i < stu.count; i++)
rw[i] = stu[i];
tbbody.rows.add(rw);
//標題
int k = 0;
foreach (var item in sales)
tbbody.rows.add(r);
k++;
}string filename = "資料指標匯出" + datetime.now.tostring("yyyymmdd");
var ms = excelclass.datatoexcelasfile(tbbody, "sheet1", filename + ".xls");
ms.position = 0;
dictionaryfiles = new dictionary();
"e:\\" + "\\" + filename + ".xls", filename + ".xls");
}
Excel 匯入 匯出操作
在很多的時候我們都要用到excel的匯出 可是 有些東西是現成的 所以我們 就只需要理解 就好 沒必要每次開發都自己寫一遍 在這裡 把我的方法寫一下 在這裡需要說明的是在很以前的自己寫的 中 匯出的資料會出現亂碼的問題 但是 本編 已經查詢解決 就是在匯出的檔案是新增meta宣告 上面的是完整版本!...
sql 匯入匯出操作Excel
use bw voicedispatch 1 資料庫匯出到excel insert into openrowset microsoft.ace.oledb.12.0 excel 12.0 hdr yes database d 1.xls select from sheet1 id,value sel...
資料的匯入匯出操作
資料匯入匯出的兩種方式 第一種是匯出為.dmp的檔案格式,dmp檔案是二進位制的,可以跨平台,還能包含許可權,效率很不錯,用得最為廣泛 第二種是匯出為.sql檔案,可用文字編輯器檢視,通用性比較好,但效率不如第一種,適合小資料量匯入匯出 資料的匯出 1 將資料庫orcl完全匯出 exp system...