java - 关于excel上传解析
PHP中文网
PHP中文网 2017-04-18 10:27:52
0
4
430

前台通过form表单上传文件,后台通过request.getInputStream得到流,但是POI建立wordbook要求是fileInputStream,我获取的是servletInputStream,强转会出错。怎么解决。我查的资料都是通过固定文件位置读取流,我想使用用户上传的流来生成workbook该怎么做?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(4)
伊谢尔伦

你試試官網的範例。

巴扎黑

1、有種方案是先保存到伺服器某位置再讀取,需要注意文件名稱唯一 處理完刪除
2、不對啊 上傳可以得到一個文件 是文件 File對像啊 忘記怎麼做的了

刘奇

什麼版本的POI? XSSFWorkbook的建構方法裡,明明有一個的參數是InputStream啊

刘奇

ServletInputStream extends InputStream當然是強轉不了的,你可以把ServletInputStream 從緩衝區讀取然後再轉換成InputStream(如果你不嫌麻煩的話),正常點的做法還是在伺服器建立臨時檔案(如果你看著不嫌麻煩的話),正常點的做法還是在伺服器建立臨時檔案(如果你看著不嫌麻煩順可以刪除

String path = request.getSession(true).getServletContext().getRealPath("/upload");
 String fileName = new Date().getTime()+file.getOriginalFilename();

3.保存文件
File targetFile = new File(path,fileName);
file.transferTo(targetFile)

4.POI...
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!