mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-14 06:09:03 +08:00
📝 Writing docs. 增加主子表代码生成的详细
This commit is contained in:
1 parent
44f473ba27
commit
931635d56c
2 files changed
+23
-23
No files matched your search
+18
-18
@@ -81,15 +81,16 @@ public abstract class AbstractSheetWriteHandler implements SheetWriteHandler, Ap
|
||||
public void export(Object o, HttpServletResponse response, ResponseExcel responseExcel) {
|
||||
check(responseExcel);
|
||||
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
|
||||
String name = (String) Objects.requireNonNull(requestAttributes).getAttribute(DynamicNameAspect.EXCEL_NAME_KEY,
|
||||
RequestAttributes.SCOPE_REQUEST);
|
||||
String name = (String) Objects.requireNonNull(requestAttributes)
|
||||
.getAttribute(DynamicNameAspect.EXCEL_NAME_KEY, RequestAttributes.SCOPE_REQUEST);
|
||||
if (name == null) {
|
||||
name = UUID.randomUUID().toString();
|
||||
}
|
||||
String fileName = String.format("%s%s", URLEncoder.encode(name, "UTF-8"), responseExcel.suffix().getValue());
|
||||
// 根据实际的文件类型找到对应的 contentType
|
||||
String contentType = MediaTypeFactory.getMediaType(fileName).map(MediaType::toString)
|
||||
.orElse("application/vnd.ms-excel");
|
||||
String contentType = MediaTypeFactory.getMediaType(fileName)
|
||||
.map(MediaType::toString)
|
||||
.orElse("application/vnd.ms-excel");
|
||||
response.setContentType(contentType);
|
||||
response.setCharacterEncoding("utf-8");
|
||||
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename*=utf-8''" + fileName);
|
||||
@@ -105,11 +106,14 @@ public abstract class AbstractSheetWriteHandler implements SheetWriteHandler, Ap
|
||||
@SneakyThrows(IOException.class)
|
||||
public ExcelWriter getExcelWriter(HttpServletResponse response, ResponseExcel responseExcel) {
|
||||
ExcelWriterBuilder writerBuilder = EasyExcel.write(response.getOutputStream())
|
||||
.registerConverter(LocalTimeStringConverter.INSTANCE)
|
||||
.registerConverter(LocalDateStringConverter.INSTANCE)
|
||||
.registerConverter(LocalDateTimeStringConverter.INSTANCE)
|
||||
.registerConverter(LongStringConverter.INSTANCE).registerConverter(StringArrayConverter.INSTANCE)
|
||||
.autoCloseStream(true).excelType(responseExcel.suffix()).inMemory(responseExcel.inMemory());
|
||||
.registerConverter(LocalTimeStringConverter.INSTANCE)
|
||||
.registerConverter(LocalDateStringConverter.INSTANCE)
|
||||
.registerConverter(LocalDateTimeStringConverter.INSTANCE)
|
||||
.registerConverter(LongStringConverter.INSTANCE)
|
||||
.registerConverter(StringArrayConverter.INSTANCE)
|
||||
.autoCloseStream(true)
|
||||
.excelType(responseExcel.suffix())
|
||||
.inMemory(responseExcel.inMemory());
|
||||
|
||||
if (StringUtils.hasText(responseExcel.password())) {
|
||||
writerBuilder.password(responseExcel.password());
|
||||
@@ -120,13 +124,11 @@ public abstract class AbstractSheetWriteHandler implements SheetWriteHandler, Ap
|
||||
}
|
||||
|
||||
if (responseExcel.exclude().length != 0) {
|
||||
writerBuilder.includeColumnFieldNames(Arrays.asList(responseExcel.exclude()));
|
||||
writerBuilder.excludeColumnFieldNames(Arrays.asList(responseExcel.exclude()));
|
||||
}
|
||||
|
||||
if (responseExcel.writeHandler().length != 0) {
|
||||
for (Class<? extends WriteHandler> clazz : responseExcel.writeHandler()) {
|
||||
writerBuilder.registerWriteHandler(BeanUtils.instantiateClass(clazz));
|
||||
}
|
||||
for (Class<? extends WriteHandler> clazz : responseExcel.writeHandler()) {
|
||||
writerBuilder.registerWriteHandler(BeanUtils.instantiateClass(clazz));
|
||||
}
|
||||
|
||||
// 开启国际化头信息处理
|
||||
@@ -137,10 +139,8 @@ public abstract class AbstractSheetWriteHandler implements SheetWriteHandler, Ap
|
||||
// 自定义注入的转换器
|
||||
registerCustomConverter(writerBuilder);
|
||||
|
||||
if (responseExcel.converter().length != 0) {
|
||||
for (Class<? extends Converter> clazz : responseExcel.converter()) {
|
||||
writerBuilder.registerConverter(BeanUtils.instantiateClass(clazz));
|
||||
}
|
||||
for (Class<? extends Converter> clazz : responseExcel.converter()) {
|
||||
writerBuilder.registerConverter(BeanUtils.instantiateClass(clazz));
|
||||
}
|
||||
|
||||
String templatePath = configProperties.getTemplatePath();
|
||||
|
||||
Reference in new issue
Block a user