diff --git a/easypoi-test/.classpath b/easypoi-test/.classpath index 13ed0c0..f67a1d3 100644 --- a/easypoi-test/.classpath +++ b/easypoi-test/.classpath @@ -21,5 +21,11 @@ + + + + + + diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/ManySheetOneSyler.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/ManySheetOneSyler.java new file mode 100644 index 0000000..3cf3ff5 --- /dev/null +++ b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/ManySheetOneSyler.java @@ -0,0 +1,41 @@ +package org.jeecgframework.poi.test.excel.template; + +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.Workbook; +import org.jeecgframework.poi.excel.export.styler.ExcelExportStylerDefaultImpl; + +public class ManySheetOneSyler extends ExcelExportStylerDefaultImpl { + + private static CellStyle stringSeptailStyle; + + private static CellStyle stringNoneStyle; + + public ManySheetOneSyler(Workbook workbook) { + super(workbook); + } + + @Override + public CellStyle stringSeptailStyle(Workbook workbook, boolean isWarp) { + if (stringSeptailStyle == null) { + stringSeptailStyle = workbook.createCellStyle(); + stringSeptailStyle.setAlignment(CellStyle.ALIGN_CENTER); + stringSeptailStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); + stringSeptailStyle.setDataFormat(STRING_FORMAT); + stringSeptailStyle.setWrapText(true); + } + return stringSeptailStyle; + } + + @Override + public CellStyle stringNoneStyle(Workbook workbook, boolean isWarp) { + if (stringNoneStyle == null) { + stringNoneStyle = workbook.createCellStyle(); + stringNoneStyle.setAlignment(CellStyle.ALIGN_CENTER); + stringNoneStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); + stringNoneStyle.setDataFormat(STRING_FORMAT); + stringNoneStyle.setWrapText(true); + } + return stringNoneStyle; + } + +} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateExcelSheetTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateExcelSheetTest.java index 331a117..102bba7 100644 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateExcelSheetTest.java +++ b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateExcelSheetTest.java @@ -26,6 +26,7 @@ public class TemplateExcelSheetTest { Workbook workbook = new HSSFWorkbook(); ExportParams entity = new ExportParams(); entity.setCreateHeadRows(false); + entity.setStyle(ManySheetOneSyler.class); List entityList = new ArrayList(); ExcelExportEntity e = new ExcelExportEntity(); e.setHeight(40); @@ -48,20 +49,51 @@ public class TemplateExcelSheetTest { e.setName("three"); e.setKey("three"); entityList.add(e); + e = new ExcelExportEntity(); + e.setHeight(40); + e.setWidth(40); + e.setWrap(true); + e.setName("four"); + e.setKey("four"); + entityList.add(e); + e = new ExcelExportEntity(); + e.setHeight(40); + e.setWidth(40); + e.setWrap(true); + e.setName("five"); + e.setKey("five"); + entityList.add(e); - for (int l = 0; l < 10; l++) { - List> dataList = new ArrayList>(); + //这里加入了40个数据源 + List> dataList = new ArrayList>(); + for (int l = 0; l < 80; l++) { Map map = new HashMap(); - for (int i = 0; i < 6; i++) { - map.put("one", - "卡片编号:2228\n资产名称:办公器\n开始使用日期:20090910\n使用状况:在用\n使用科室:财务科\n管理科室:总务科\n市妇幼2015年6月"); - map.put("two", - "卡片编号:2228\n资产名称:办公器\n开始使用日期:20090910\n使用状况:在用\n使用科室:财务科\n管理科室:总务科\n市妇幼2015年6月"); - map.put("three", - "卡片编号:2228\n资产名称:办公器\n开始使用日期:20090910\n使用状况:在用\n使用科室:财务科\n管理科室:总务科\n市妇幼2015年6月"); - dataList.add(map); - } - util.createSheetForMap(workbook, entity, entityList, dataList); + map.put("one", + "卡片编号:2228\n资产名称:办公器\n开始使用日期:20090910\n使用状况:在用\n使用科室:财务科\n管理科室:总务科\n市妇幼2015年6月"); + map.put("two", + "卡片编号:2228\n资产名称:办公器\n开始使用日期:20090910\n使用状况:在用\n使用科室:财务科\n管理科室:总务科\n市妇幼2015年6月"); + map.put("three", + "卡片编号:2228\n资产名称:办公器\n开始使用日期:20090910\n使用状况:在用\n使用科室:财务科\n管理科室:总务科\n市妇幼2015年6月"); + map.put("five", + "卡片编号:2228\n资产名称:办公器\n开始使用日期:20090910\n使用状况:在用\n使用科室:财务科\n管理科室:总务科\n市妇幼2015年6月"); + map.put("four", + "卡片编号:2228\n资产名称:办公器\n开始使用日期:20090910\n使用状况:在用\n使用科室:财务科\n管理科室:总务科\n市妇幼2015年6月"); + dataList.add(map); + } + + //补全数据好看一点 + for (int l = 0, le = (dataList.size() % 6) == 0 ? 0 : 6 - dataList.size() % 6; l < le; l++) { + Map map = new HashMap(); + map.put("one", ""); + map.put("two", ""); + map.put("three", ""); + map.put("five", ""); + map.put("four", ""); + dataList.add(map); + } + + for (int i = 0, le = dataList.size() / 6; i < le; i++) { + util.createSheetForMap(workbook, entity, entityList, dataList.subList(0, 6)); } File savefile = new File("d:/"); if (!savefile.exists()) { diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportMsgClient.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportMsgClient.java index 84457a4..bdd2cdb 100644 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportMsgClient.java +++ b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportMsgClient.java @@ -37,7 +37,7 @@ public class ExcelExportMsgClient { } List list = new ArrayList(); - for (int i = 0; i < 50000; i++) { + for (int i = 0; i < 1000000; i++) { MsgClient client = new MsgClient(); client.setBirthday(new Date()); client.setClientName("小明" + i); diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilTest.java index d5be03b..d351db7 100644 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilTest.java +++ b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilTest.java @@ -58,7 +58,7 @@ public class ExcelExportUtilTest { @Before public void testBefore() { - for (int i = 0; i < 20; i++) { + for (int i = 0; i < 20000; i++) { courseEntity = new CourseEntity(); courseEntity.setId("1131"); courseEntity.setName("海贼王必修(" + (i + 1) + ")");