|
@@ -0,0 +1,49 @@
|
|
|
|
|
+package org.dromara.xg.excel;
|
|
|
|
|
+
|
|
|
|
|
+import cn.idev.excel.FastExcel;
|
|
|
|
|
+import cn.idev.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
|
|
|
|
|
+import jakarta.servlet.ServletOutputStream;
|
|
|
|
|
+import jakarta.servlet.http.HttpServletResponse;
|
|
|
|
|
+import lombok.AccessLevel;
|
|
|
|
|
+import lombok.NoArgsConstructor;
|
|
|
|
|
+import org.dromara.common.core.utils.file.FileUtils;
|
|
|
|
|
+import org.dromara.common.excel.convert.ExcelBigNumberConvert;
|
|
|
|
|
+import org.dromara.common.excel.core.DropDownOptions;
|
|
|
|
|
+import org.dromara.common.excel.core.ExcelDownHandler;
|
|
|
|
|
+import org.dromara.common.excel.handler.DataWriteHandler;
|
|
|
|
|
+import org.dromara.common.excel.utils.ExcelUtil;
|
|
|
|
|
+import org.dromara.xg.domain.vo.XgClassMsgImportVo;
|
|
|
|
|
+
|
|
|
|
|
+import java.io.IOException;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 班级信息导入模板导出
|
|
|
|
|
+ *
|
|
|
|
|
+ * @author zlwu
|
|
|
|
|
+ */
|
|
|
|
|
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
|
|
|
|
+public class XgClassMsgImportTemplateWriter {
|
|
|
|
|
+
|
|
|
|
|
+ public static void write(List<XgClassMsgImportVo> list, HttpServletResponse response,
|
|
|
|
|
+ List<DropDownOptions> options) {
|
|
|
|
|
+ String sheetName = "班级信息导入模板";
|
|
|
|
|
+ try {
|
|
|
|
|
+ String filename = ExcelUtil.encodingFilename(sheetName);
|
|
|
|
|
+ FileUtils.setAttachmentResponseHeader(response, filename);
|
|
|
|
|
+ response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8");
|
|
|
|
|
+ ServletOutputStream os = response.getOutputStream();
|
|
|
|
|
+ FastExcel.write(os, XgClassMsgImportVo.class)
|
|
|
|
|
+ .autoCloseStream(false)
|
|
|
|
|
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
|
|
|
|
|
+ .registerConverter(new ExcelBigNumberConvert())
|
|
|
|
|
+ .registerWriteHandler(new DataWriteHandler(XgClassMsgImportVo.class))
|
|
|
|
|
+ .registerWriteHandler(new ExcelDownHandler(options))
|
|
|
|
|
+ .registerWriteHandler(new XgClassMsgImportTemplateHandler())
|
|
|
|
|
+ .sheet(sheetName)
|
|
|
|
|
+ .doWrite(list);
|
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
|
+ throw new RuntimeException("导出班级信息导入模板异常", e);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|