|
|
@@ -6,11 +6,11 @@ import com.alibaba.excel.support.ExcelTypeEnum;
|
|
|
import com.alibaba.excel.write.metadata.WriteSheet;
|
|
|
import com.alibaba.excel.write.metadata.fill.FillConfig;
|
|
|
import com.railway.common.utils.file.FileUploadUtils;
|
|
|
-import java.io.FileInputStream;
|
|
|
-import java.io.FileOutputStream;
|
|
|
import java.io.IOException;
|
|
|
import java.io.InputStream;
|
|
|
import java.io.OutputStream;
|
|
|
+import java.nio.file.Files;
|
|
|
+import java.nio.file.Paths;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
@@ -19,11 +19,11 @@ import java.util.Map;
|
|
|
*/
|
|
|
public class EasyExcelUtil {
|
|
|
|
|
|
- public String getExcel(Map<String, Object> params, List<?> list,
|
|
|
- String template, String wordName) {
|
|
|
- String filePath = FileUploadUtils.getAbsoluteFileEncoding(wordName);
|
|
|
- try (InputStream is = new FileInputStream(template);
|
|
|
- OutputStream os = new FileOutputStream(filePath)) {
|
|
|
+ public String getExcel(Map<String, Object> params, List<?> list, String template,
|
|
|
+ String excelName) {
|
|
|
+ String filePath = FileUploadUtils.getAbsoluteFileEncoding(excelName);
|
|
|
+ try (InputStream is = Files.newInputStream(Paths.get(template));
|
|
|
+ OutputStream os = Files.newOutputStream(Paths.get(filePath))) {
|
|
|
WriteSheet writeSheet = EasyExcel.writerSheet().build();
|
|
|
ExcelWriter excelWriter = EasyExcel.write(os).withTemplate(is)
|
|
|
.excelType(ExcelTypeEnum.XLS)
|
|
|
@@ -32,7 +32,8 @@ public class EasyExcelUtil {
|
|
|
//列表自动添加行
|
|
|
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
|
|
|
excelWriter.fill(list, fillConfig, writeSheet);
|
|
|
- excelWriter.fill(params, writeSheet);
|
|
|
+ fillConfig = FillConfig.builder().forceNewRow(Boolean.FALSE).build();
|
|
|
+ excelWriter.fill(params, fillConfig, writeSheet);
|
|
|
excelWriter.finish();
|
|
|
} catch (IOException e) {
|
|
|
return null;
|
|
|
@@ -40,10 +41,12 @@ public class EasyExcelUtil {
|
|
|
return filePath;
|
|
|
}
|
|
|
|
|
|
- public <T> String writeExcel(String fileName, String templateFileName, List<T> list) {
|
|
|
+ public <T> String writeExcel(List<T> list, String templateFileName, String fileName) {
|
|
|
String filePath = FileUploadUtils.getAbsoluteFileEncoding(fileName);
|
|
|
- try (InputStream is = new FileInputStream(templateFileName)) {
|
|
|
- EasyExcel.write(filePath).withTemplate(is).registerConverter(new LocalDateConverter()).sheet()
|
|
|
+ try (InputStream is = Files.newInputStream(Paths.get(templateFileName))) {
|
|
|
+ EasyExcel.write(filePath).withTemplate(is)
|
|
|
+ .registerConverter(new LocalDateConverter())
|
|
|
+ .sheet()
|
|
|
.doFill(list);
|
|
|
} catch (IOException e) {
|
|
|
return null;
|