/**
* 匯出excel
* @param filename
* -- 匯出的檔名稱
httpservletresponse response) throws ioexception// 定義臨時儲存檔案位置
string path = request.getsession().getservletcontext().getrealpath(constants.upload_pdf);file pathfile = new file(path);
if(!pathfile.exists())
// 獲取登入使用者的資訊
loginuser user = (loginuser) request.getsession().getattribute(constants.user_login_);//返回解析後的excel 檔案位址
string pdfpath= exportfileservice.exporttrainexcel(user.getcenterid(),user.getid(),path,exporttype);// 讀到流中
// 檔案的存放路徑
inputstream instream = null;
// 設定輸出的格式
response.reset();
// 設定為二進位製流格式
response.addheader("content-disposition", "attachment; filename=\"" + filename + "\"");
// 迴圈取出流中的資料
byte b = new byte[100];
int len =0;
try// 刪除臨時檔案
file file =new file(pdfpath);
// 如果檔案存在 刪除。
if(file.exists())instream.close();
} catch (ioexception e)
}
3、service 層
/**
* 通用匯出模板
** @param centerid
* @param id
* @param exporttype
** @return
*/@override
public string exporttrainexcel(integer centerid, integer id, string path,string exporttype) ;
//需要匯出的資料 *************************=》
listdatalist = new arraylist();
datalist.add(new string);
datalist.add(new string);
datalist.add(new string);
datalist.add(new string);
datalist.add(new string);
// 資料區域 *************************=》string filepath =path.concat(file.separator).concat(uuid).concat(".xlsx");//輸出file file = new file(filepath);
// 構造excel 資料
xssfworkbook workbook = excelutil.getworkbook(celltitle,datalist);
fileoutputstream outstream =null;
try catch ( ioexception e )finally catch (ioexception e) }}
return filepath;
4、匯出工具類
/**
* @version 1.0
* @description:
* 匯出excel的工具類
* @projectname: com.taidii.staffdevelopment.util
* @classname: staff-development
* @author:tannc
* @createtime:2018/6/25 10:48
*/public class excelutil
// 定義內容的樣式
cellstyle contentstyle=workbook.createcellstyle();
// 允許excel 單元格換行
contentstyle.setwraptext(true);
// 設定邊框
contentstyle.setborderbottom(borderstyle.thin);
contentstyle.setborderleft(borderstyle.thin);
contentstyle.setborderright(borderstyle.thin);
contentstyle.setbordertop(borderstyle.thin);
contentstyle.setalignment(horizontalalignment.center);
// 內容佔位符
cell contentcell = null;
// 設定內容
if(!collectionutils.isempty(datalist))
else }}
}}
// //資料載入完成,自動調整寬度
// for(int i=0;ireturn workbook;
}}
5、完成 通用Excel匯出
匯出excel時,經常會遇到需要重複性的書寫每個列的名稱,以此造成 編寫的重複書寫,例如 為了避免這種編寫,我們可以採取特性加反射的形式進行 解耦。例子如下 封裝 using model.attribute using npoi.hssf.usermodel using npoi.ss.usermo...
GridControl 通用匯出excel
關於devexpress winform 的所有可列印控制項的匯出excel 的通用方法,並且解決devexpress控制項自帶的方法存在的缺陷問題 1 解決gridcontrol自帶方法不能匯出 2 gridcontrol 的bandgridview 多表頭無法匯出等問題 3 解決pivotgri...
通用excel資料匯出 轉換(三)
這一篇說c 怎麼操作mysql資料庫 我沒有仔細研究為什麼乙個mysql.data不能包含所有基本功能,非得帶3個看似用不著的東西 這樣就可以直接上 了,首先是類開頭的引用 using system.data using system.data.oledb using mysql.data usin...