|
@@ -1,216 +1,216 @@
|
|
|
-package com.ruoyi.project.officeConvert;
|
|
|
-
|
|
|
-import com.ruoyi.common.constant.Constants;
|
|
|
-import com.ruoyi.common.constant.HttpStatus;
|
|
|
-import com.ruoyi.common.utils.StringUtils;
|
|
|
-import com.ruoyi.framework.config.RuoYiConfig;
|
|
|
-import com.ruoyi.framework.web.controller.BaseController;
|
|
|
-import com.ruoyi.framework.web.domain.AjaxResult;
|
|
|
-
|
|
|
-import org.jodconverter.DocumentConverter;
|
|
|
-import org.slf4j.Logger;
|
|
|
-import org.slf4j.LoggerFactory;
|
|
|
-import org.springframework.beans.factory.annotation.Value;
|
|
|
-import org.springframework.stereotype.Component;
|
|
|
-import org.springframework.web.bind.annotation.*;
|
|
|
-import org.springframework.web.context.request.RequestContextHolder;
|
|
|
-import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
-
|
|
|
-import javax.annotation.Resource;
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
-import javax.servlet.http.HttpServletResponse;
|
|
|
-import java.io.*;
|
|
|
-import java.nio.charset.StandardCharsets;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-
|
|
|
-import static com.ruoyi.project.officeConvert.PptPreview.pptToImage;
|
|
|
-import static com.ruoyi.project.officeConvert.PptPreview.pptxToImage;
|
|
|
-
|
|
|
-
|
|
|
-@Component
|
|
|
-@RestController
|
|
|
-@RequestMapping(value="/office",method = RequestMethod.POST)
|
|
|
-public class OfficeConvertController {
|
|
|
-
|
|
|
- // 第一步:转换器直接注入
|
|
|
- @Resource
|
|
|
- DocumentConverter documentConverter;
|
|
|
-
|
|
|
- protected final Logger logger = LoggerFactory.getLogger(BaseController.class);
|
|
|
-
|
|
|
- private static String successMsg="请求成功!请预览文件!";
|
|
|
-
|
|
|
- private static String failMsg="暂不支持此格式类型文件预览,请下载后查看!";
|
|
|
-
|
|
|
- private static String codeMiss="若csv文件预览结果有乱码,请重新上传编码格式另存为ANSI的csv文件!";
|
|
|
-
|
|
|
- private static String fileMiss="您需要预览的文件不存在,可能已在本地删除,请重新上传即可!";
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- office类型的文件
|
|
|
- 先远程服务端获取文件
|
|
|
- 然后转换
|
|
|
- 然后读写缓冲区返回前台
|
|
|
- */
|
|
|
- @PostMapping("/toPdfFile")
|
|
|
- public AjaxResult toPdfFile(HttpServletRequest request, HttpServletResponse response,String filepath) {
|
|
|
- // 获取HttpServletResponse
|
|
|
- response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
|
|
|
- String newFilePath=filepath.replace("/profile","");
|
|
|
- // 需要转换的文件路径
|
|
|
- File file = new File(RuoYiConfig.getProfile()+newFilePath);
|
|
|
- boolean flag= file.exists();
|
|
|
- if(flag==false){
|
|
|
- return new AjaxResult(HttpStatus.SUCCESS,fileMiss,Constants.RESOURCE_PREFIX+ "/" + newFilePath);
|
|
|
- }
|
|
|
- String converterPdf =""; //生成的文件名
|
|
|
- try {
|
|
|
- // 转换之后文件生成的本地地址
|
|
|
- File newFile = new File(RuoYiConfig.getProfile());
|
|
|
- if (!newFile.exists()) {
|
|
|
- newFile.mkdirs();
|
|
|
- }
|
|
|
- String name =file.getName();
|
|
|
- int t=name.lastIndexOf(".");
|
|
|
- String newName=name.substring(0,t);
|
|
|
- //根据文件类型判断转换方式
|
|
|
- if(newFilePath.endsWith(".docx")||newFilePath.endsWith(".doc")||newFilePath.endsWith(".xlsx")
|
|
|
- ||newFilePath.endsWith(".xls")||newFilePath.endsWith(".csv")||newFilePath.endsWith(".txt")){
|
|
|
- converterPdf = newName+".html";
|
|
|
- }else if(newFilePath.endsWith(".mp4")||newFilePath.endsWith("pdf")||newFilePath.endsWith(".gif")
|
|
|
- ||newFilePath.endsWith("jpg")||newFilePath.endsWith("png")
|
|
|
- ||newFilePath.endsWith(".jpeg")){
|
|
|
- //浏览器可以直接打开的直接返回图片和视频的文件路径
|
|
|
- return new AjaxResult(HttpStatus.SUCCESS,successMsg,Constants.RESOURCE_PREFIX+ "/" + newFilePath) ;
|
|
|
- }else {
|
|
|
- //其他类型都不支持就返回错误消息
|
|
|
- return new AjaxResult(HttpStatus.SUCCESS,failMsg,Constants.RESOURCE_PREFIX+ "/" + newFilePath);
|
|
|
- }
|
|
|
- // 文件转化
|
|
|
- documentConverter.convert(file).to(new File(RuoYiConfig.getProfile() + File.separator +"temp" + File.separator +converterPdf)).execute();
|
|
|
- //office文件需要给有表格的加一个边框 以免 排版出现问题
|
|
|
- if(newFilePath.endsWith(".xlsx")){
|
|
|
- this.doActionConvertedFile(RuoYiConfig.getProfile() + File.separator +"temp" + File.separator +converterPdf);
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- //最后应该返回转换后的文件名称
|
|
|
- String pathFileName = Constants.RESOURCE_PREFIX+ File.separator +"temp" + File.separator + converterPdf;
|
|
|
- return newFilePath.endsWith(".csv")? new AjaxResult(HttpStatus.SUCCESS,codeMiss,pathFileName): new AjaxResult(HttpStatus.SUCCESS,successMsg,pathFileName) ;
|
|
|
- }
|
|
|
-
|
|
|
- @PostMapping("/toBookFile")
|
|
|
- public AjaxResult toBookFile(HttpServletRequest request, HttpServletResponse response,String filepath) {
|
|
|
- // 获取HttpServletResponse
|
|
|
- response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
|
|
|
- String newFilePath=filepath.replace("/profile","");
|
|
|
- // 需要转换的文件路径
|
|
|
- File file = new File(RuoYiConfig.getProfile()+newFilePath);
|
|
|
- boolean flag= file.exists();
|
|
|
- if(flag==false){
|
|
|
- return new AjaxResult(HttpStatus.SUCCESS,fileMiss,Constants.RESOURCE_PREFIX+ "/" + newFilePath);
|
|
|
- }
|
|
|
- String converterPdf =""; //生成的文件名
|
|
|
- try {
|
|
|
- // 转换之后文件生成的本地地址
|
|
|
- File newFile = new File(RuoYiConfig.getProfile());
|
|
|
- if (!newFile.exists()) {
|
|
|
- newFile.mkdirs();
|
|
|
- }
|
|
|
- String name =file.getName();
|
|
|
- int t=name.lastIndexOf(".");
|
|
|
- String newName=name.substring(0,t);
|
|
|
- //预约开票的word文档
|
|
|
- converterPdf = newName+".pdf";
|
|
|
- // 文件转化
|
|
|
- documentConverter.convert(file).to(new File(RuoYiConfig.getProfile() + File.separator +"temp" + File.separator +converterPdf)).execute();
|
|
|
- //office文件需要给有表格的加一个边框 以免 排版出现问题
|
|
|
- // this.doActionConvertedFile(RuoYiConfig.getProfile() + File.separator +"temp" + File.separator +converterPdf);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- //最后应该返回转换后的文件名称
|
|
|
- String pathFileName = Constants.RESOURCE_PREFIX+ File.separator +"temp" + File.separator + converterPdf;
|
|
|
- return new AjaxResult(HttpStatus.SUCCESS,successMsg,pathFileName) ;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- PPT文件需要根据不同格式类型区分一下
|
|
|
- */
|
|
|
- @PostMapping("/PPTransJPEG")
|
|
|
- public AjaxResult PPTransJPEG(HttpServletRequest request, HttpServletResponse response,String filepath) {
|
|
|
- Map<String, Object> resultMap = new HashMap<>();
|
|
|
- String newFilePath=filepath.replace("/profile","");
|
|
|
- // 需要转换的PPT文件路径
|
|
|
- File file = new File(RuoYiConfig.getProfile()+newFilePath);
|
|
|
- //判断ppt,pptx文件是否存在本地
|
|
|
- boolean flag= file.exists();
|
|
|
- if(flag==false){
|
|
|
- return new AjaxResult(HttpStatus.SUCCESS,fileMiss,Constants.RESOURCE_PREFIX+ "/" + newFilePath);
|
|
|
- }
|
|
|
- File imageFile = new File(RuoYiConfig.getProfile() + File.separator + "temp");
|
|
|
- if (!imageFile.exists()){
|
|
|
- imageFile.mkdirs();
|
|
|
- } //判断生成文件路径是否已存在
|
|
|
- String name =file.getName();
|
|
|
- int t=name.lastIndexOf(".");
|
|
|
- String newName=name.substring(0,t); //将名字带到生成方法中以便于区分不同文件名的ppt
|
|
|
- List list =new ArrayList();
|
|
|
- if(newFilePath.endsWith("pptx")){
|
|
|
- list= pptToImage(file, imageFile,newName);
|
|
|
- }else {
|
|
|
- list= pptxToImage(file, imageFile,newName);
|
|
|
- }
|
|
|
- //将生成的图片传给前端
|
|
|
- resultMap.put("imagePathList", list);
|
|
|
- // resultMap.put("reviewUrlPrefix", Constants.RESOURCE_PREFIX+ "/" );
|
|
|
- return new AjaxResult(HttpStatus.SUCCESS,successMsg,resultMap);
|
|
|
- }
|
|
|
-
|
|
|
- private static final String getPathFileName(String uploadDir, String fileName) throws IOException
|
|
|
- {
|
|
|
- int dirLastIndex = RuoYiConfig.getProfile().length() + 1;
|
|
|
- String currentDir = StringUtils.substring(uploadDir, dirLastIndex);
|
|
|
- String pathFileName = Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName;
|
|
|
- return pathFileName;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 对转换后的文件进行操作(改变编码方式)
|
|
|
- *
|
|
|
- * @param outFilePath 文件绝对路径
|
|
|
- */
|
|
|
- public void doActionConvertedFile(String outFilePath) {
|
|
|
- StringBuilder sb = new StringBuilder();
|
|
|
- try (InputStream inputStream = new FileInputStream(outFilePath);
|
|
|
- BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, System.getProperty("sun.jnu.encoding")))) {
|
|
|
- String line;
|
|
|
- while (null != (line = reader.readLine())) {
|
|
|
- if (line.contains("charset=gb2312")) {
|
|
|
- line = line.replace("charset=gb2312", "charset=utf-8");
|
|
|
- }
|
|
|
- sb.append(line);
|
|
|
- }
|
|
|
- // 添加sheet控制头
|
|
|
- sb.append("<script src=\"js/jquery-3.0.0.min.js\" type=\"text/javascript\"></script>");
|
|
|
- sb.append("<script src=\"js/excel.header.js\" type=\"text/javascript\"></script>");
|
|
|
- sb.append("<link rel=\"stylesheet\" href=\"bootstrap/css/bootstrap.min.css\">");
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- // 重新写入文件
|
|
|
- try (FileOutputStream fos = new FileOutputStream(outFilePath);
|
|
|
- BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(fos, StandardCharsets.UTF_8))) {
|
|
|
- writer.write(sb.toString());
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
+//package com.ruoyi.project.officeConvert;
|
|
|
+//
|
|
|
+//import com.ruoyi.common.constant.Constants;
|
|
|
+//import com.ruoyi.common.constant.HttpStatus;
|
|
|
+//import com.ruoyi.common.utils.StringUtils;
|
|
|
+//import com.ruoyi.framework.config.RuoYiConfig;
|
|
|
+//import com.ruoyi.framework.web.controller.BaseController;
|
|
|
+//import com.ruoyi.framework.web.domain.AjaxResult;
|
|
|
+//
|
|
|
+//import org.jodconverter.DocumentConverter;
|
|
|
+//import org.slf4j.Logger;
|
|
|
+//import org.slf4j.LoggerFactory;
|
|
|
+//import org.springframework.beans.factory.annotation.Value;
|
|
|
+//import org.springframework.stereotype.Component;
|
|
|
+//import org.springframework.web.bind.annotation.*;
|
|
|
+//import org.springframework.web.context.request.RequestContextHolder;
|
|
|
+//import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
+//
|
|
|
+//import javax.annotation.Resource;
|
|
|
+//import javax.servlet.http.HttpServletRequest;
|
|
|
+//import javax.servlet.http.HttpServletResponse;
|
|
|
+//import java.io.*;
|
|
|
+//import java.nio.charset.StandardCharsets;
|
|
|
+//import java.util.ArrayList;
|
|
|
+//import java.util.HashMap;
|
|
|
+//import java.util.List;
|
|
|
+//import java.util.Map;
|
|
|
+//
|
|
|
+//import static com.ruoyi.project.officeConvert.PptPreview.pptToImage;
|
|
|
+//import static com.ruoyi.project.officeConvert.PptPreview.pptxToImage;
|
|
|
+//
|
|
|
+//
|
|
|
+//@Component
|
|
|
+//@RestController
|
|
|
+//@RequestMapping(value="/office",method = RequestMethod.POST)
|
|
|
+//public class OfficeConvertController {
|
|
|
+//
|
|
|
+// // 第一步:转换器直接注入
|
|
|
+// @Resource
|
|
|
+// DocumentConverter documentConverter;
|
|
|
+//
|
|
|
+// protected final Logger logger = LoggerFactory.getLogger(BaseController.class);
|
|
|
+//
|
|
|
+// private static String successMsg="请求成功!请预览文件!";
|
|
|
+//
|
|
|
+// private static String failMsg="暂不支持此格式类型文件预览,请下载后查看!";
|
|
|
+//
|
|
|
+// private static String codeMiss="若csv文件预览结果有乱码,请重新上传编码格式另存为ANSI的csv文件!";
|
|
|
+//
|
|
|
+// private static String fileMiss="您需要预览的文件不存在,可能已在本地删除,请重新上传即可!";
|
|
|
+//
|
|
|
+//
|
|
|
+// /**
|
|
|
+// office类型的文件
|
|
|
+// 先远程服务端获取文件
|
|
|
+// 然后转换
|
|
|
+// 然后读写缓冲区返回前台
|
|
|
+// */
|
|
|
+// @PostMapping("/toPdfFile")
|
|
|
+// public AjaxResult toPdfFile(HttpServletRequest request, HttpServletResponse response,String filepath) {
|
|
|
+// // 获取HttpServletResponse
|
|
|
+// response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
|
|
|
+// String newFilePath=filepath.replace("/profile","");
|
|
|
+// // 需要转换的文件路径
|
|
|
+// File file = new File(RuoYiConfig.getProfile()+newFilePath);
|
|
|
+// boolean flag= file.exists();
|
|
|
+// if(flag==false){
|
|
|
+// return new AjaxResult(HttpStatus.SUCCESS,fileMiss,Constants.RESOURCE_PREFIX+ "/" + newFilePath);
|
|
|
+// }
|
|
|
+// String converterPdf =""; //生成的文件名
|
|
|
+// try {
|
|
|
+// // 转换之后文件生成的本地地址
|
|
|
+// File newFile = new File(RuoYiConfig.getProfile());
|
|
|
+// if (!newFile.exists()) {
|
|
|
+// newFile.mkdirs();
|
|
|
+// }
|
|
|
+// String name =file.getName();
|
|
|
+// int t=name.lastIndexOf(".");
|
|
|
+// String newName=name.substring(0,t);
|
|
|
+// //根据文件类型判断转换方式
|
|
|
+// if(newFilePath.endsWith(".docx")||newFilePath.endsWith(".doc")||newFilePath.endsWith(".xlsx")
|
|
|
+// ||newFilePath.endsWith(".xls")||newFilePath.endsWith(".csv")||newFilePath.endsWith(".txt")){
|
|
|
+// converterPdf = newName+".html";
|
|
|
+// }else if(newFilePath.endsWith(".mp4")||newFilePath.endsWith("pdf")||newFilePath.endsWith(".gif")
|
|
|
+// ||newFilePath.endsWith("jpg")||newFilePath.endsWith("png")
|
|
|
+// ||newFilePath.endsWith(".jpeg")){
|
|
|
+// //浏览器可以直接打开的直接返回图片和视频的文件路径
|
|
|
+// return new AjaxResult(HttpStatus.SUCCESS,successMsg,Constants.RESOURCE_PREFIX+ "/" + newFilePath) ;
|
|
|
+// }else {
|
|
|
+// //其他类型都不支持就返回错误消息
|
|
|
+// return new AjaxResult(HttpStatus.SUCCESS,failMsg,Constants.RESOURCE_PREFIX+ "/" + newFilePath);
|
|
|
+// }
|
|
|
+// // 文件转化
|
|
|
+// documentConverter.convert(file).to(new File(RuoYiConfig.getProfile() + File.separator +"temp" + File.separator +converterPdf)).execute();
|
|
|
+// //office文件需要给有表格的加一个边框 以免 排版出现问题
|
|
|
+// if(newFilePath.endsWith(".xlsx")){
|
|
|
+// this.doActionConvertedFile(RuoYiConfig.getProfile() + File.separator +"temp" + File.separator +converterPdf);
|
|
|
+// }
|
|
|
+// } catch (Exception e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// }
|
|
|
+// //最后应该返回转换后的文件名称
|
|
|
+// String pathFileName = Constants.RESOURCE_PREFIX+ File.separator +"temp" + File.separator + converterPdf;
|
|
|
+// return newFilePath.endsWith(".csv")? new AjaxResult(HttpStatus.SUCCESS,codeMiss,pathFileName): new AjaxResult(HttpStatus.SUCCESS,successMsg,pathFileName) ;
|
|
|
+// }
|
|
|
+//
|
|
|
+// @PostMapping("/toBookFile")
|
|
|
+// public AjaxResult toBookFile(HttpServletRequest request, HttpServletResponse response,String filepath) {
|
|
|
+// // 获取HttpServletResponse
|
|
|
+// response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
|
|
|
+// String newFilePath=filepath.replace("/profile","");
|
|
|
+// // 需要转换的文件路径
|
|
|
+// File file = new File(RuoYiConfig.getProfile()+newFilePath);
|
|
|
+// boolean flag= file.exists();
|
|
|
+// if(flag==false){
|
|
|
+// return new AjaxResult(HttpStatus.SUCCESS,fileMiss,Constants.RESOURCE_PREFIX+ "/" + newFilePath);
|
|
|
+// }
|
|
|
+// String converterPdf =""; //生成的文件名
|
|
|
+// try {
|
|
|
+// // 转换之后文件生成的本地地址
|
|
|
+// File newFile = new File(RuoYiConfig.getProfile());
|
|
|
+// if (!newFile.exists()) {
|
|
|
+// newFile.mkdirs();
|
|
|
+// }
|
|
|
+// String name =file.getName();
|
|
|
+// int t=name.lastIndexOf(".");
|
|
|
+// String newName=name.substring(0,t);
|
|
|
+// //预约开票的word文档
|
|
|
+// converterPdf = newName+".pdf";
|
|
|
+// // 文件转化
|
|
|
+// documentConverter.convert(file).to(new File(RuoYiConfig.getProfile() + File.separator +"temp" + File.separator +converterPdf)).execute();
|
|
|
+// //office文件需要给有表格的加一个边框 以免 排版出现问题
|
|
|
+// // this.doActionConvertedFile(RuoYiConfig.getProfile() + File.separator +"temp" + File.separator +converterPdf);
|
|
|
+// } catch (Exception e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// }
|
|
|
+// //最后应该返回转换后的文件名称
|
|
|
+// String pathFileName = Constants.RESOURCE_PREFIX+ File.separator +"temp" + File.separator + converterPdf;
|
|
|
+// return new AjaxResult(HttpStatus.SUCCESS,successMsg,pathFileName) ;
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// /**
|
|
|
+// PPT文件需要根据不同格式类型区分一下
|
|
|
+// */
|
|
|
+// @PostMapping("/PPTransJPEG")
|
|
|
+// public AjaxResult PPTransJPEG(HttpServletRequest request, HttpServletResponse response,String filepath) {
|
|
|
+// Map<String, Object> resultMap = new HashMap<>();
|
|
|
+// String newFilePath=filepath.replace("/profile","");
|
|
|
+// // 需要转换的PPT文件路径
|
|
|
+// File file = new File(RuoYiConfig.getProfile()+newFilePath);
|
|
|
+// //判断ppt,pptx文件是否存在本地
|
|
|
+// boolean flag= file.exists();
|
|
|
+// if(flag==false){
|
|
|
+// return new AjaxResult(HttpStatus.SUCCESS,fileMiss,Constants.RESOURCE_PREFIX+ "/" + newFilePath);
|
|
|
+// }
|
|
|
+// File imageFile = new File(RuoYiConfig.getProfile() + File.separator + "temp");
|
|
|
+// if (!imageFile.exists()){
|
|
|
+// imageFile.mkdirs();
|
|
|
+// } //判断生成文件路径是否已存在
|
|
|
+// String name =file.getName();
|
|
|
+// int t=name.lastIndexOf(".");
|
|
|
+// String newName=name.substring(0,t); //将名字带到生成方法中以便于区分不同文件名的ppt
|
|
|
+// List list =new ArrayList();
|
|
|
+// if(newFilePath.endsWith("pptx")){
|
|
|
+// list= pptToImage(file, imageFile,newName);
|
|
|
+// }else {
|
|
|
+// list= pptxToImage(file, imageFile,newName);
|
|
|
+// }
|
|
|
+// //将生成的图片传给前端
|
|
|
+// resultMap.put("imagePathList", list);
|
|
|
+// // resultMap.put("reviewUrlPrefix", Constants.RESOURCE_PREFIX+ "/" );
|
|
|
+// return new AjaxResult(HttpStatus.SUCCESS,successMsg,resultMap);
|
|
|
+// }
|
|
|
+//
|
|
|
+// private static final String getPathFileName(String uploadDir, String fileName) throws IOException
|
|
|
+// {
|
|
|
+// int dirLastIndex = RuoYiConfig.getProfile().length() + 1;
|
|
|
+// String currentDir = StringUtils.substring(uploadDir, dirLastIndex);
|
|
|
+// String pathFileName = Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName;
|
|
|
+// return pathFileName;
|
|
|
+// }
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 对转换后的文件进行操作(改变编码方式)
|
|
|
+// *
|
|
|
+// * @param outFilePath 文件绝对路径
|
|
|
+// */
|
|
|
+// public void doActionConvertedFile(String outFilePath) {
|
|
|
+// StringBuilder sb = new StringBuilder();
|
|
|
+// try (InputStream inputStream = new FileInputStream(outFilePath);
|
|
|
+// BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, System.getProperty("sun.jnu.encoding")))) {
|
|
|
+// String line;
|
|
|
+// while (null != (line = reader.readLine())) {
|
|
|
+// if (line.contains("charset=gb2312")) {
|
|
|
+// line = line.replace("charset=gb2312", "charset=utf-8");
|
|
|
+// }
|
|
|
+// sb.append(line);
|
|
|
+// }
|
|
|
+// // 添加sheet控制头
|
|
|
+// sb.append("<script src=\"js/jquery-3.0.0.min.js\" type=\"text/javascript\"></script>");
|
|
|
+// sb.append("<script src=\"js/excel.header.js\" type=\"text/javascript\"></script>");
|
|
|
+// sb.append("<link rel=\"stylesheet\" href=\"bootstrap/css/bootstrap.min.css\">");
|
|
|
+// } catch (IOException e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// }
|
|
|
+// // 重新写入文件
|
|
|
+// try (FileOutputStream fos = new FileOutputStream(outFilePath);
|
|
|
+// BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(fos, StandardCharsets.UTF_8))) {
|
|
|
+// writer.write(sb.toString());
|
|
|
+// } catch (IOException e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+//}
|