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

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

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(4)
伊谢尔伦

Essayez l'exemple sur le site officiel.

巴扎黑

1. Il existe une solution pour l'enregistrer d'abord à un certain emplacement sur le serveur, puis le lire. Vous devez faire attention au nom unique du fichier et le supprimer après le traitement
2. peut obtenir un fichier qui est un objet File. J'ai oublié comment le faire

刘奇

Quelle version du POI ? Dans la méthode de construction de XSSFWorkbook, un paramètre est évidemment InputStream

刘奇

ServletInputStream extends InputStream ne peut bien sûr pas être converti de force. Vous pouvez lire ServletInputStream à partir du tampon, puis le convertir en InputStream (si cela ne vous dérange pas). La méthode normale consiste à créer un fichier temporaire sur le serveur (si vous voyez). Si cela ne se passe pas bien, vous pouvez le supprimer)
Vous pouvez essayer d'utiliser springmvc,
1.@RequestParam(value="file",required = false)Fichier MultipartFile //Recevoir les paramètres
2 . Mais toujours pour créer le chemin de sauvegarde du fichier

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

3. Enregistrez le fichier

File targetFile = new File(path,fileName);
file.transferTo(targetFile)

4.POI...

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal