|
|
@@ -23,6 +23,7 @@ import org.springframework.stereotype.Service;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.File;
|
|
|
import java.io.PrintWriter;
|
|
|
+import java.io.StringWriter;
|
|
|
import java.nio.file.Paths;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
@@ -70,7 +71,7 @@ public class RateService {
|
|
|
rateRepo.save(rate);
|
|
|
}
|
|
|
|
|
|
- public void export(HttpServletResponse response, Rate rate) {
|
|
|
+ public String export(Rate rate) {
|
|
|
Map<String, Object> dataMap = new HashMap<>();
|
|
|
try {
|
|
|
//单位
|
|
|
@@ -109,18 +110,17 @@ public class RateService {
|
|
|
|
|
|
configuration.setDefaultEncoding("utf-8");
|
|
|
|
|
|
- configuration.setDirectoryForTemplateLoading(new File(Paths.get(System.getProperty("user.dir"), "src", "main", "resources", "templates")
|
|
|
+ configuration.setDirectoryForTemplateLoading(new File(Paths
|
|
|
+ .get(System.getProperty("user.dir"), "src", "main", "resources", "templates")
|
|
|
.toString()));//指定ftl所在目录,根据自己的改
|
|
|
- response.setContentType("application/msword");
|
|
|
String fileName = DateTimeFormatter.ofPattern("yyyyMMdd").format(LocalDate.now());
|
|
|
- response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".doc");
|
|
|
- response.setCharacterEncoding("utf-8");
|
|
|
- PrintWriter out = response.getWriter();
|
|
|
+ StringWriter writer = new StringWriter();
|
|
|
Template template = configuration.getTemplate("RateTemplate.ftl", "utf-8");//以utf-8的编码读取ftl文件
|
|
|
- template.process(dataMap, out);
|
|
|
- out.close();
|
|
|
+ template.process(dataMap, writer);
|
|
|
+ return writer.toString();
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
+ throw new BusinessException(e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
}
|