diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/ExportParams.java b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/ExportParams.java index daedffb..973f083 100644 --- a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/ExportParams.java +++ b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/ExportParams.java @@ -86,7 +86,14 @@ public class ExportParams extends ExcelBaseParams { * 是否创建表头 */ private boolean isCreateHeadRows = true; - + /** + * 是否动态获取数据 + */ + private boolean isDynamicData = false; + /** + * 是否追加图形 + */ + private boolean isAppendGraph = true; public ExportParams() { } @@ -220,4 +227,24 @@ public class ExportParams extends ExcelBaseParams { this.isCreateHeadRows = isCreateHeadRows; } + public boolean isDynamicData() + { + return isDynamicData; + } + + public void setDynamicData(boolean isDynamicData) + { + this.isDynamicData = isDynamicData; + } + + public boolean isAppendGraph() + { + return isAppendGraph; + } + + public void setAppendGraph(boolean isAppendGraph) + { + this.isAppendGraph = isAppendGraph; + } + } diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/params/ExcelBaseEntity.java b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/params/ExcelBaseEntity.java index 0f79b05..2289f9c 100644 --- a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/params/ExcelBaseEntity.java +++ b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/params/ExcelBaseEntity.java @@ -18,6 +18,8 @@ package org.jeecgframework.poi.excel.entity.params; import java.lang.reflect.Method; import java.util.List; +import org.jeecgframework.poi.excel.entity.vo.BaseEntityTypeConstants; + /** * Excel 导入导出基础对象类 * @author JueYue @@ -31,7 +33,7 @@ public class ExcelBaseEntity { /** * 对应type */ - private int type = 1; + private int type = BaseEntityTypeConstants.StringType; /** * 数据库格式 */ diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/vo/BaseEntityTypeConstants.java b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/vo/BaseEntityTypeConstants.java new file mode 100644 index 0000000..d5fc0b0 --- /dev/null +++ b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/vo/BaseEntityTypeConstants.java @@ -0,0 +1,18 @@ +/** + * + */ +package org.jeecgframework.poi.excel.entity.vo; + +/** + * @author xfworld + * @since 2015-12-28 + * @version 1.0 + * @see org.jeecgframework.poi.excel.entity.vo.BaseEntityTypeConstants + * + */ +public interface BaseEntityTypeConstants +{ + public final static Integer StringType =1; + public final static Integer DoubleType =10; + public final static Integer ImageType = 3; +} diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/base/ExcelExportBase.java b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/base/ExcelExportBase.java index 4e9147d..6904c62 100644 --- a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/base/ExcelExportBase.java +++ b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/base/ExcelExportBase.java @@ -44,6 +44,7 @@ import org.apache.poi.xssf.usermodel.XSSFClientAnchor; import org.apache.poi.xssf.usermodel.XSSFRichTextString; import org.jeecgframework.poi.excel.entity.enmus.ExcelType; import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity; +import org.jeecgframework.poi.excel.entity.vo.BaseEntityTypeConstants; import org.jeecgframework.poi.excel.entity.vo.PoiBaseConstants; import org.jeecgframework.poi.excel.export.styler.IExcelExportStyler; import org.jeecgframework.poi.util.PoiMergeCellUtil; @@ -106,7 +107,7 @@ public abstract class ExcelExportBase extends ExportBase { } } else { Object value = getCellValue(entity, t); - if (entity.getType() == 1) { + if (entity.getType() == BaseEntityTypeConstants.StringType) { createStringCell(row, cellNum++, value == null ? "" : value.toString(), index % 2 == 0 ? getStyles(false, entity) : getStyles(true, entity), entity); @@ -116,7 +117,19 @@ public abstract class ExcelExportBase extends ExportBase { row.getSheet().getWorkbook().getCreationHelper(), t, entity.getName(), value)); } - } else { + } + else if(entity.getType() == BaseEntityTypeConstants.DoubleType) + { + createDoubleCell(row, cellNum++, value == null ? "" : value.toString(), + index % 2 == 0 ? getStyles(false, entity) : getStyles(true, entity), + entity); + if (entity.isHyperlink()) { + row.getCell(cellNum - 1) + .setHyperlink(dataHanlder.getHyperlink( + row.getSheet().getWorkbook().getCreationHelper(), t, + entity.getName(), value)); + } + }else { createImageCell(patriarch, entity, row, cellNum++, value == null ? "" : value.toString(), t); } @@ -227,7 +240,7 @@ public abstract class ExcelExportBase extends ExportBase { for (int k = 0, paramSize = excelParams.size(); k < paramSize; k++) { entity = excelParams.get(k); Object value = getCellValue(entity, obj); - if (entity.getType() == 1) { + if (entity.getType() == BaseEntityTypeConstants.StringType) { createStringCell(row, cellNum++, value == null ? "" : value.toString(), row.getRowNum() % 2 == 0 ? getStyles(false, entity) : getStyles(true, entity), entity); @@ -237,7 +250,19 @@ public abstract class ExcelExportBase extends ExportBase { row.getSheet().getWorkbook().getCreationHelper(), obj, entity.getName(), value)); } - } else { + } + else if(entity.getType() == BaseEntityTypeConstants.DoubleType) + { + createDoubleCell(row, cellNum++, value == null ? "" : value.toString(), + index % 2 == 0 ? getStyles(false, entity) : getStyles(true, entity), + entity); + if (entity.isHyperlink()) { + row.getCell(cellNum - 1) + .setHyperlink(dataHanlder.getHyperlink( + row.getSheet().getWorkbook().getCreationHelper(),obj, + entity.getName(), value)); + } + }else { createImageCell(patriarch, entity, row, cellNum++, value == null ? "" : value.toString(), obj); } @@ -273,7 +298,32 @@ public abstract class ExcelExportBase extends ExportBase { } addStatisticsData(index, text, entity); } - + + /** + * 创建数字类型的Cell + * + * @param row + * @param index + * @param text + * @param style + * @param entity + */ + public void createDoubleCell(Row row, int index, String text, CellStyle style, + ExcelExportEntity entity) { + Cell cell = row.createCell(index); + if(text!=null&&text.length()>0){ + cell.setCellValue(Double.parseDouble(text)); + }else{ + cell.setCellValue(-1); + } + cell.setCellType(Cell.CELL_TYPE_NUMERIC); + if (style != null) { + cell.setCellStyle(style); + } + addStatisticsData(index, text, entity); + } + + /** * 创建统计行 * @param styles