Переглянути джерело

新增 ManySheetOneSyler的例子,就是多次导出但是共用一个styler,因为是一个workbook

4.1.3.A
jueyue 9 роки тому
джерело
коміт
3f63bd6073
5 змінених файлів з 93 додано та 14 видалено
  1. +6
    -0
      easypoi-test/.classpath
  2. +41
    -0
      easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/ManySheetOneSyler.java
  3. +44
    -12
      easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateExcelSheetTest.java
  4. +1
    -1
      easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportMsgClient.java
  5. +1
    -1
      easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilTest.java

+ 6
- 0
easypoi-test/.classpath Переглянути файл

@@ -21,5 +21,11 @@
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/> <classpathentry kind="output" path="target/classes"/>
</classpath> </classpath>

+ 41
- 0
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;
}
}

+ 44
- 12
easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateExcelSheetTest.java Переглянути файл

@@ -26,6 +26,7 @@ public class TemplateExcelSheetTest {
Workbook workbook = new HSSFWorkbook(); Workbook workbook = new HSSFWorkbook();
ExportParams entity = new ExportParams(); ExportParams entity = new ExportParams();
entity.setCreateHeadRows(false); entity.setCreateHeadRows(false);
entity.setStyle(ManySheetOneSyler.class);
List<ExcelExportEntity> entityList = new ArrayList<ExcelExportEntity>(); List<ExcelExportEntity> entityList = new ArrayList<ExcelExportEntity>();
ExcelExportEntity e = new ExcelExportEntity(); ExcelExportEntity e = new ExcelExportEntity();
e.setHeight(40); e.setHeight(40);
@@ -48,20 +49,51 @@ public class TemplateExcelSheetTest {
e.setName("three"); e.setName("three");
e.setKey("three"); e.setKey("three");
entityList.add(e); 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<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>();
//这里加入了40个数据源
List<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>();
for (int l = 0; l < 80; l++) {
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
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<String, Object> map = new HashMap<String, Object>();
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:/"); File savefile = new File("d:/");
if (!savefile.exists()) { if (!savefile.exists()) {


+ 1
- 1
easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportMsgClient.java Переглянути файл

@@ -37,7 +37,7 @@ public class ExcelExportMsgClient {
} }
List<MsgClient> list = new ArrayList<MsgClient>(); List<MsgClient> list = new ArrayList<MsgClient>();
for (int i = 0; i < 50000; i++) {
for (int i = 0; i < 1000000; i++) {
MsgClient client = new MsgClient(); MsgClient client = new MsgClient();
client.setBirthday(new Date()); client.setBirthday(new Date());
client.setClientName("小明" + i); client.setClientName("小明" + i);


+ 1
- 1
easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilTest.java Переглянути файл

@@ -58,7 +58,7 @@ public class ExcelExportUtilTest {
@Before @Before
public void testBefore() { public void testBefore() {
for (int i = 0; i < 20; i++) {
for (int i = 0; i < 20000; i++) {
courseEntity = new CourseEntity(); courseEntity = new CourseEntity();
courseEntity.setId("1131"); courseEntity.setId("1131");
courseEntity.setName("海贼王必修(" + (i + 1) + ")"); courseEntity.setName("海贼王必修(" + (i + 1) + ")");


Завантаження…
Відмінити
Зберегти