首页>代码>java+vuejs导出pdf和word文件>/ces/src/main/java/vueToHtml.java
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Map;

import org.apache.poi.poifs.filesystem.DirectoryEntry;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.springframework.web.multipart.MultipartFile;

//接收前端vue 转换成html 把流传递到后端
public class vueToHtml {
    /**
     * //controller
     *  JsonObjUtils json 转换工具 把json转成map  可以用其他的
     * @param name html文件流 @RequestParam("file") MultipartFile
     * @param paramStr 其他参数 @RequestParam("form")
     * @throws Exception
     */

    public  void writeWordFile(MultipartFile name, String paramStr) throws Exception {
        System.out.println(paramStr);
        Map<String,Object> formMap = JsonObjUtils.json2map(paramStr);
        String fileType = formMap.get("fileType") == null ?null:formMap.get("fileType").toString();
        String fileName = formMap.get("fileName1") == null ?null:formMap.get("fileName1").toString();
        String filePath = "static/ratingReport/doc/";
        if (!"".equals(fileType)){
            if (fileType.equals("word")){
                filePath=wordtransformation(filePath,fileName,name);
            }
        }
    }
    private String wordtransformation(String filePath,String fileName,MultipartFile name){
        try {
            if (!"".equals(filePath)) {
                // 检查目录是否存在
                File fileDir = new File(filePath);
                if (!fileDir.exists()) {
                    fileDir.mkdirs();
                }
                // 生成临时文件名称
                LocalDateTime time=LocalDateTime.now();
                DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
                String strDate2 = dtf2.format(time);
                fileName = strDate2+fileName+"doc.doc";
                InputStream bais = name.getInputStream();
                POIFSFileSystem poifs = new POIFSFileSystem();
                DirectoryEntry directory = poifs.getRoot();
                DocumentEntry documentEntry = directory.createDocument("WordDocument", bais);
                FileOutputStream ostream = new FileOutputStream(filePath+ fileName);
                poifs.writeFilesystem(ostream);
                bais.close();
                ostream.close();

            }

        } catch (IOException e) {
            e.printStackTrace();
        }
        return filePath+fileName;
    }
}
最近下载更多
467277  LV13 3月26日
papatap  LV1 2023年4月20日
倒转流年  LV1 2022年7月7日
lhr6767  LV1 2022年4月29日
代码醉了哈哈  LV4 2022年3月8日
我不是大象  LV10 2021年11月11日
蒋彦云  LV1 2021年9月26日
...  LV1 2021年9月5日
毛哲  LV1 2021年9月3日
xsp990218  LV5 2021年8月16日
最近浏览更多
zhos0212  LV19 3月29日
467277  LV13 3月26日
studengaaa 3月17日
暂无贡献等级
a1325922140  LV1 2月19日
wbbhappy  LV13 1月13日
LUN001 1月11日
暂无贡献等级
710581799 2023年12月21日
暂无贡献等级
2317696509  LV6 2023年12月15日
内心向阳  LV4 2023年11月8日
jjhhhh 2023年10月11日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友