日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java excel模板中列表_java中自定义excel模板并且填充内容

發布時間:2023/12/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java excel模板中列表_java中自定义excel模板并且填充内容 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景

讀取某一份固定的excel模板,根據數據填充進入指定的位置

本地測試時,在本地resources下創建一個存放模板的位置

例:

實現

挺簡單的就直接貼代碼吧,不得不吐槽一下博客園的編輯器真的很難用..

@Overridepublic void exportDeposit(UserInfo userInfo, Long id, HttpServletRequest request, HttpServletResponse response) throwsException {/*業務內容*/

//excel模板路徑(分別是本地測試路徑和云上服務器路徑)

String file = this.getClass().getClassLoader().getResource("excel/zhck.xls").getFile();//String file = "/usr/local/wms_trade/zhck.xls";

File fi = newFile(file);

POIFSFileSystem fs= new POIFSFileSystem(newFileInputStream(fi));//讀取excel模板

HSSFWorkbook wb = newHSSFWorkbook(fs);//讀取了模板內所有sheet內容

HSSFSheet sheet = wb.getSheetAt(0);

sheet.setForceFormulaRecalculation(true);//在相應的單元格進行賦值//第11行 第6列,這是部分業務內容,其實和本文關系不大,但是可以用來給需要的人參考,內容是如何填入的,不過我更加建議去參考原生api

sheet.getRow(3).getCell(3).setCellValue(deposit.getType());if (deposit.getGmtDeposit() != null) {

sheet.getRow(3).getCell(1).setCellValue(deposit.getGmtDeposit().toString());

}

sheet.getRow(3).getCell(5).setCellValue(deposit.getDepositNumber());

sheet.getRow(3).getCell(7).setCellValue(deposit.getCreateName());

sheet.getRow(4).getCell(1).setCellValue(deposit.getDestination());/*業務內容*/

//瀏覽器打開下載窗口

String fileName = deposit.getDepositNumber() + "出庫單.xls";

response.reset();

response.setCharacterEncoding("UTF-8");//Content-disposition 瀏覽器以下載的形式打開

String header = request.getHeader("User-Agent").toUpperCase();if (header.contains("MSIE") || header.contains("TRIDENT") || header.contains("EDGE")) {

fileName= URLEncoder.encode(fileName, "utf-8");

fileName= fileName.replace("+", "%20");

}else{

fileName= new String(fileName.getBytes(), "ISO8859-1");

}

response.setHeader("Content-Disposition", "attachment; filename=" +fileName);

response.setContentType("application/vnd.ms-excel");//直接用數組緩沖輸出流輸出

wb.write(response.getOutputStream());

}

留言

注釋里寫的挺明白的我個人覺得,只要看完應該就可以操作了,

具體的如何填充內容可以直接去搜索HSSFWorkbook,HSSFSheet,HSSFCellStyle,HSSFFont,HSSFRow,HSSFCell等API,

看過一輪就知道怎么使用了,上面也有部分例子可以參考

這個接口寫完以后,已經可以直接用url訪問下載文件了,剩下的就得交給前端了(那塊我就不是很懂了)

如果掛在云服務器上的話,需要將模板也傳一份到自己制定的目錄,然后將文件路徑更改一下,才能使用

比如:

有更好的辦法歡迎留言

總結

以上是生活随笔為你收集整理的java excel模板中列表_java中自定义excel模板并且填充内容的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。