c 匯出操作思想

2021-09-03 08:00:34 字數 1597 閱讀 1744

匯出——很多人都做過,但是只要真正領悟的人才知道究竟是怎麼實現的:

核心思想: 將資料從資料庫裡取出來,然後賦值輸出,在市面上的匯出更是五花八門,我同事用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...