diff --git a/deploy.bat b/deploy.bat
index 92a7c3f..35b4a09 100644
--- a/deploy.bat
+++ b/deploy.bat
@@ -1 +1 @@
-cmd /k mvn clean deploy -DskipTest
\ No newline at end of file
+cmd /k mvn clean deploy -D skipTest
\ No newline at end of file
diff --git a/easypoi-base/.classpath b/easypoi-base/.classpath
index 2aabaef..c9464c0 100644
--- a/easypoi-base/.classpath
+++ b/easypoi-base/.classpath
@@ -6,8 +6,9 @@
-
+
+
@@ -16,9 +17,8 @@
-
+
-
diff --git a/easypoi-base/pom.xml b/easypoi-base/pom.xml
index bf8bb20..3ecfdbf 100644
--- a/easypoi-base/pom.xml
+++ b/easypoi-base/pom.xml
@@ -4,7 +4,7 @@
org.jeecgframework
easypoi
- 2.0.2
+ 2.0.6-SNAPSHOT
easypoi-base
diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/ExcelExportUtil.java b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/ExcelExportUtil.java
index aadd3ea..24e3203 100644
--- a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/ExcelExportUtil.java
+++ b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/ExcelExportUtil.java
@@ -8,6 +8,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.TemplateExportParams;
+import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity;
import org.jeecgframework.poi.excel.export.ExcelExportServer;
import org.jeecgframework.poi.excel.export.template.ExcelExportOfTemplateUtil;
@@ -54,6 +55,20 @@ public final class ExcelExportUtil {
new ExcelExportServer().createSheet(workbook, entity, pojoClass, dataSet);
return workbook;
}
+ /**
+ * @param entity
+ * 表格标题属性
+ * @param pojoClass
+ * Excel对象Class
+ * @param dataSet
+ * Excel对象数据List
+ */
+ public static HSSFWorkbook exportExcel(ExportParams entity,
+ List entityList, Collection extends Map,?>> dataSet) {
+ HSSFWorkbook workbook = new HSSFWorkbook();
+ new ExcelExportServer().createSheetForMap(workbook, entity, entityList, dataSet);
+ return workbook;
+ }
/**
* 导出文件通过模板解析
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 dbd9132..90aee6b 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
@@ -49,6 +49,10 @@ public class ExportParams extends ExcelBaseParams {
* 过滤的属性
*/
private String[] exclusions;
+ /**
+ * 是否添加需要需要
+ */
+ private boolean addIndex;
/**
* 表头颜色
*/
@@ -122,4 +126,12 @@ public class ExportParams extends ExcelBaseParams {
public void setSecondTitleHeight(short secondTitleHeight) {
this.secondTitleHeight = secondTitleHeight;
}
+
+ public boolean isAddIndex() {
+ return addIndex;
+ }
+
+ public void setAddIndex(boolean addIndex) {
+ this.addIndex = addIndex;
+ }
}
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 a998936..548de80 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
@@ -11,11 +11,11 @@ public class ExcelBaseEntity {
/**
* 对应name
*/
- private String name;
+ protected String name;
/**
* 对应type
*/
- private int type;
+ private int type = 1;
/**
* 数据库格式
*/
diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/params/ExcelExportEntity.java b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/params/ExcelExportEntity.java
index fec230c..09d62ad 100644
--- a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/params/ExcelExportEntity.java
+++ b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/params/ExcelExportEntity.java
@@ -10,16 +10,41 @@ import java.util.List;
*/
public class ExcelExportEntity extends ExcelBaseEntity {
- private int width;
- private int height;
+ public ExcelExportEntity() {
+
+ }
+
+ public ExcelExportEntity(String name) {
+ super.name = name;
+ }
+
+ public ExcelExportEntity(String name, Object key) {
+ super.name = name;
+ this.key = key;
+ }
+
+ public ExcelExportEntity(String name, Object key, int width) {
+ super.name = name;
+ this.width = width;
+ this.key = key;
+ }
+
+ /**
+ * 如果是MAP导出,这个是map的key
+ */
+ private Object key;
+
+ private int width = 10;
+
+ private int height = 10;
/**
* 图片的类型,1是文件,2是数据库
*/
- private int exportImageType;
+ private int exportImageType = 0;
/**
* 排序顺序
*/
- private int orderNum;
+ private int orderNum = 0;
/**
* 是否支持换行
*/
@@ -123,4 +148,12 @@ public class ExcelExportEntity extends ExcelBaseEntity {
this.mergeVertical = mergeVertical;
}
+ public Object getKey() {
+ return key;
+ }
+
+ public void setKey(Object key) {
+ this.key = key;
+ }
+
}
diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/vo/PoiBaseConstants.java b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/vo/PoiBaseConstants.java
index 9469043..f37941f 100644
--- a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/vo/PoiBaseConstants.java
+++ b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/entity/vo/PoiBaseConstants.java
@@ -11,5 +11,7 @@ public interface PoiBaseConstants {
public static String SET = "set";
public static String IS = "is";
+
+ public static String IS_ADD_INDEX = "isAddIndex";
}
diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/ExcelExportServer.java b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/ExcelExportServer.java
index 344f158..e9b628c 100644
--- a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/ExcelExportServer.java
+++ b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/ExcelExportServer.java
@@ -22,6 +22,7 @@ import org.apache.poi.ss.util.CellRangeAddress;
import org.jeecgframework.poi.excel.annotation.ExcelTarget;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity;
+import org.jeecgframework.poi.excel.entity.vo.PoiBaseConstants;
import org.jeecgframework.poi.excel.export.base.ExcelExportBase;
import org.jeecgframework.poi.exception.excel.ExcelExportException;
import org.jeecgframework.poi.exception.excel.enums.ExcelExportEnum;
@@ -36,8 +37,9 @@ import org.slf4j.LoggerFactory;
* @date 2014年6月17日 下午5:30:54
*/
public class ExcelExportServer extends ExcelExportBase {
-
- private final static Logger logger = LoggerFactory.getLogger(ExcelExportServer.class);
+
+ private final static Logger logger = LoggerFactory
+ .getLogger(ExcelExportServer.class);
private static final short cellFormat = HSSFDataFormat
.getBuiltinFormat("TEXT");
@@ -47,8 +49,8 @@ public class ExcelExportServer extends ExcelExportBase {
public void createSheet(HSSFWorkbook workbook, ExportParams entity,
Class> pojoClass, Collection> dataSet) {
- if(logger.isDebugEnabled()){
- logger.debug("Excel export start ,class is {}",pojoClass);
+ if (logger.isDebugEnabled()) {
+ logger.debug("Excel export start ,class is {}", pojoClass);
}
if (workbook == null || entity == null || pojoClass == null
|| dataSet == null) {
@@ -71,6 +73,9 @@ public class ExcelExportServer extends ExcelExportBase {
Map styles = createStyles(workbook);
Drawing patriarch = sheet.createDrawingPatriarch();
List excelParams = new ArrayList();
+ if (entity.isAddIndex()) {
+ excelParams.add(indexExcelEntity());
+ }
// 得到所有字段
Field fileds[] = POIPublicUtil.getClassFields(pojoClass);
ExcelTarget etarget = pojoClass.getAnnotation(ExcelTarget.class);
@@ -83,7 +88,7 @@ public class ExcelExportServer extends ExcelExportBase {
int titleHeight = index;
setCellWith(excelParams, sheet);
short rowHeight = getRowHeight(excelParams);
-
+ setCurrentIndex(1);
Iterator> its = dataSet.iterator();
List
-
+
+
-
+
-
+
-
diff --git a/easypoi-test/pom.xml b/easypoi-test/pom.xml
index 77aa8d9..86c94e4 100644
--- a/easypoi-test/pom.xml
+++ b/easypoi-test/pom.xml
@@ -4,7 +4,7 @@
org.jeecgframework
easypoi
- 2.0.2
+ 2.0.6-SNAPSHOT
easypoi-test
diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/entity/MsgClient.java b/easypoi-test/src/main/java/org/jeecgframework/poi/entity/MsgClient.java
new file mode 100644
index 0000000..563b6e2
--- /dev/null
+++ b/easypoi-test/src/main/java/org/jeecgframework/poi/entity/MsgClient.java
@@ -0,0 +1,146 @@
+package org.jeecgframework.poi.entity;
+
+import java.util.Date;
+
+
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecgframework.poi.excel.annotation.ExcelEntity;
+
+/**
+ * @Title: Entity
+ * @Description: 通讯录
+ * @author JueYue
+ * @date 2014-09-22 16:03:32
+ * @version V1.0
+ *
+ */
+@SuppressWarnings("serial")
+public class MsgClient implements java.io.Serializable {
+ /** id */
+ private java.lang.String id;
+ // 电话号码(主键)
+ @Excel(name = "电话号码")
+ private String clientPhone = null;
+ // 客户姓名
+ @Excel(name = "姓名")
+ private String clientName = null;
+ // 所属分组
+ @ExcelEntity
+ private MsgClientGroup group = null;
+ // 备注
+ @Excel(name = "备注")
+ private String remark = null;
+ // 生日
+ @Excel(name = "出生日期")
+ private Date birthday = null;
+ // 创建人
+ private String createBy = null;
+
+ /**
+ * 方法: 取得java.lang.String
+ *
+ * @return: java.lang.String id
+ */
+
+ public java.lang.String getId() {
+ return this.id;
+ }
+
+ /**
+ * 方法: 设置java.lang.String
+ *
+ * @param: java.lang.String id
+ */
+ public void setId(java.lang.String id) {
+ this.id = id;
+ }
+
+ /**
+ * 方法: 取得java.lang.String
+ *
+ * @return: java.lang.String 电话号码
+ */
+ public java.lang.String getClientPhone() {
+ return this.clientPhone;
+ }
+
+ /**
+ * 方法: 设置java.lang.String
+ *
+ * @param: java.lang.String 电话号码
+ */
+ public void setClientPhone(java.lang.String clientPhone) {
+ this.clientPhone = clientPhone;
+ }
+
+ public MsgClientGroup getGroup() {
+ return group;
+ }
+
+ public void setGroup(MsgClientGroup group) {
+ this.group = group;
+ }
+
+ /**
+ * 方法: 取得java.lang.String
+ *
+ * @return: java.lang.String 客户姓名
+ */
+ public java.lang.String getClientName() {
+ return this.clientName;
+ }
+
+ /**
+ * 方法: 设置java.lang.String
+ *
+ * @param: java.lang.String 客户姓名
+ */
+ public void setClientName(java.lang.String clientName) {
+ this.clientName = clientName;
+ }
+
+ /**
+ * 方法: 取得java.lang.String
+ *
+ * @return: java.lang.String 备注
+ */
+ public java.lang.String getRemark() {
+ return this.remark;
+ }
+
+ /**
+ * 方法: 设置java.lang.String
+ *
+ * @param remark
+ *
+ * @param: java.lang.String 备注
+ */
+ public void setRemark(java.lang.String remark) {
+ this.remark = remark;
+ }
+
+ /**
+ * 方法: 取得java.util.Date
+ *
+ * @return: java.util.Date 生日
+ */
+ public java.util.Date getBirthday() {
+ return this.birthday;
+ }
+
+ /**
+ * 方法: 设置java.util.Date
+ *
+ * @param: java.util.Date 生日
+ */
+ public void setBirthday(java.util.Date birthday) {
+ this.birthday = birthday;
+ }
+ public String getCreateBy() {
+ return createBy;
+ }
+
+ public void setCreateBy(String createBy) {
+ this.createBy = createBy;
+ }
+}
diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/entity/MsgClientGroup.java b/easypoi-test/src/main/java/org/jeecgframework/poi/entity/MsgClientGroup.java
new file mode 100644
index 0000000..21d8a35
--- /dev/null
+++ b/easypoi-test/src/main/java/org/jeecgframework/poi/entity/MsgClientGroup.java
@@ -0,0 +1,57 @@
+package org.jeecgframework.poi.entity;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+
+/**
+ * 客户分组表
+ *
+ * @author yjl
+ *
+ */
+public class MsgClientGroup implements Serializable{
+
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 6946265640897464878L;
+
+ // 组名
+ @Excel(name ="分组")
+ private String groupName = null;
+ /**
+ * 创建人
+ */
+ private String createBy;
+
+ // 一个组下 可能存在N多客户
+ //private List clients = null;
+
+ public String getGroupName() {
+ return groupName;
+ }
+ public void setGroupName(String groupName) {
+ this.groupName = groupName;
+ }
+
+ /*@org.codehaus.jackson.annotate.JsonIgnore
+ @OneToMany(cascade = CascadeType.REMOVE,fetch = FetchType.LAZY,mappedBy = "group")
+ public List getClients() {
+ return clients;
+ }
+
+ public void setClients(List clients) {
+ this.clients = clients;
+ }*/
+ public String getCreateBy() {
+ return createBy;
+ }
+ public void setCreateBy(String createBy) {
+ this.createBy = createBy;
+ }
+}
diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/excel/ExcelImportUtilTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/excel/ExcelImportUtilTest.java
index 8a6cf76..35a49a8 100644
--- a/easypoi-test/src/main/java/org/jeecgframework/poi/excel/ExcelImportUtilTest.java
+++ b/easypoi-test/src/main/java/org/jeecgframework/poi/excel/ExcelImportUtilTest.java
@@ -4,9 +4,11 @@ import static org.junit.Assert.*;
import java.io.File;
import java.util.Collection;
+import java.util.Date;
import java.util.List;
import org.jeecgframework.poi.entity.CourseEntity;
+import org.jeecgframework.poi.entity.MsgClient;
import org.jeecgframework.poi.entity.StudentEntity;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.junit.Test;
@@ -18,11 +20,13 @@ public class ExcelImportUtilTest {
ImportParams params = new ImportParams();
params.setTitleRows(2);
params.setHeadRows(2);
+ //params.setSheetNum(9);
+ params.setNeedSave(true);
+ long start = new Date().getTime();
List list = ExcelImportUtil.importExcel(new File(
"d:/tt.xls"), CourseEntity.class, params);
- for (int i = 0; i < list.size(); i++) {
- System.out.println(list.get(i).getName());
- }
+ System.out.println(list.size() + "-----"
+ + (new Date().getTime() - start));
}
}
diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/excel/doc/exportTemp.xls b/easypoi-test/src/main/java/org/jeecgframework/poi/excel/doc/exportTemp.xls
new file mode 100644
index 0000000..9b57ebd
Binary files /dev/null and b/easypoi-test/src/main/java/org/jeecgframework/poi/excel/doc/exportTemp.xls differ
diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/excel/test/ExcelExportForMap.java b/easypoi-test/src/main/java/org/jeecgframework/poi/excel/test/ExcelExportForMap.java
new file mode 100644
index 0000000..43af4b3
--- /dev/null
+++ b/easypoi-test/src/main/java/org/jeecgframework/poi/excel/test/ExcelExportForMap.java
@@ -0,0 +1,51 @@
+package org.jeecgframework.poi.excel.test;
+
+import static org.junit.Assert.*;
+
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.jeecgframework.poi.entity.TeacherEntity;
+import org.jeecgframework.poi.excel.ExcelExportUtil;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity;
+
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.junit.Test;
+
+public class ExcelExportForMap {
+
+ @Test
+ public void test() {
+ try {
+ List entity = new ArrayList();
+ entity.add(new ExcelExportEntity("姓名", "name"));
+ entity.add(new ExcelExportEntity("性别", "sex"));
+
+ List
-
+
+
-
+
-
+
-
diff --git a/easypoi-web/.project b/easypoi-web/.project
index 2197815..a06e826 100644
--- a/easypoi-web/.project
+++ b/easypoi-web/.project
@@ -15,8 +15,14 @@
+
+ org.springframework.ide.eclipse.core.springbuilder
+
+
+
+ org.springframework.ide.eclipse.core.springnature
org.eclipse.jdt.core.javanature
org.eclipse.m2e.core.maven2Nature
diff --git a/easypoi-web/pom.xml b/easypoi-web/pom.xml
index 2e1cea2..529dca1 100644
--- a/easypoi-web/pom.xml
+++ b/easypoi-web/pom.xml
@@ -4,10 +4,9 @@
org.jeecgframework
easypoi
- 2.0.2
+ 2.0.6-SNAPSHOT
easypoi-web
-
diff --git a/easypoi-web/src/main/java/org/jeecgframework/poi/excel/entity/vo/MapExcelConstants.java b/easypoi-web/src/main/java/org/jeecgframework/poi/excel/entity/vo/MapExcelConstants.java
new file mode 100644
index 0000000..6d67a29
--- /dev/null
+++ b/easypoi-web/src/main/java/org/jeecgframework/poi/excel/entity/vo/MapExcelConstants.java
@@ -0,0 +1,22 @@
+package org.jeecgframework.poi.excel.entity.vo;
+
+/**
+ * 正常导出Excel
+ * @Author JueYue on 14-3-8.
+ * 静态常量
+ */
+public interface MapExcelConstants extends BasePOIConstants {
+ /**
+ * 单Sheet导出
+ */
+ public final static String JEECG_MAP_EXCEL_VIEW = "jeecgMapExcelView";
+ /**
+ * Entity List
+ */
+ public final static String ENTITY_LIST = "data";
+ /**
+ * 数据列表
+ */
+ public final static String MAP_LIST = "mapList";
+
+}
diff --git a/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgMapExcelView.java b/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgMapExcelView.java
new file mode 100644
index 0000000..04114cb
--- /dev/null
+++ b/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgMapExcelView.java
@@ -0,0 +1,56 @@
+package org.jeecgframework.poi.excel.view;
+
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity;
+import org.jeecgframework.poi.excel.entity.vo.MapExcelConstants;
+import org.jeecgframework.poi.excel.export.ExcelExportServer;
+import org.springframework.web.servlet.view.document.AbstractExcelView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Map 对象接口
+ *
+ * @author JueYue
+ * @date 2014年11月25日 下午3:26:32
+ */
+@SuppressWarnings("unchecked")
+public class JeecgMapExcelView extends AbstractExcelView {
+
+ @Override
+ protected void buildExcelDocument(Map model,
+ HSSFWorkbook hssfWorkbook, HttpServletRequest httpServletRequest,
+ HttpServletResponse httpServletResponse) throws Exception {
+ String codedFileName = "临时文件.xls";
+ if (model.containsKey(MapExcelConstants.FILE_NAME)) {
+ codedFileName = (String) model.get(MapExcelConstants.FILE_NAME)
+ + ".xls";
+ }
+ if (isIE(httpServletRequest)) {
+ codedFileName = java.net.URLEncoder.encode(codedFileName, "UTF8");
+ } else {
+ codedFileName = new String(codedFileName.getBytes("UTF-8"),
+ "ISO-8859-1");
+ }
+ httpServletResponse.setHeader("content-disposition",
+ "attachment;filename=" + codedFileName);
+ new ExcelExportServer().createSheetForMap(hssfWorkbook,
+ (ExportParams) model.get(MapExcelConstants.PARAMS),
+ (List) model
+ .get(MapExcelConstants.ENTITY_LIST),
+ (Collection extends Map, ?>>) model
+ .get(MapExcelConstants.MAP_LIST));
+ }
+
+ public boolean isIE(HttpServletRequest request) {
+ return (request.getHeader("USER-AGENT").toLowerCase().indexOf("msie") > 0 || request
+ .getHeader("USER-AGENT").toLowerCase().indexOf("rv:11.0") > 0) ? true
+ : false;
+ }
+}
diff --git a/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgSingleExcelView.java b/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgSingleExcelView.java
index 07a7674..0d2eef7 100644
--- a/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgSingleExcelView.java
+++ b/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgSingleExcelView.java
@@ -28,17 +28,24 @@ public class JeecgSingleExcelView extends AbstractExcelView {
codedFileName = (String) model.get(NormalExcelConstants.FILE_NAME)
+ ".xls";
}
+ if (isIE(httpServletRequest)) {
+ codedFileName = java.net.URLEncoder.encode(codedFileName, "UTF8");
+ } else {
+ codedFileName = new String(codedFileName.getBytes("UTF-8"),
+ "ISO-8859-1");
+ }
httpServletResponse.setHeader("content-disposition",
- "attachment;filename="
- + new String(codedFileName.getBytes(), "iso8859-1"));
+ "attachment;filename="+codedFileName);
if (model.containsKey(NormalExcelConstants.MAP_LIST)) {
List> list = (List>) model
.get(NormalExcelConstants.MAP_LIST);
for (Map map : list) {
- new ExcelExportServer().createSheet(hssfWorkbook,
- (ExportParams) map.get(NormalExcelConstants.PARAMS),
- (Class>) map.get(NormalExcelConstants.CLASS),
- (Collection>) map.get(NormalExcelConstants.DATA_LIST));
+ new ExcelExportServer()
+ .createSheet(hssfWorkbook, (ExportParams) map
+ .get(NormalExcelConstants.PARAMS),
+ (Class>) map.get(NormalExcelConstants.CLASS),
+ (Collection>) map
+ .get(NormalExcelConstants.DATA_LIST));
}
} else {
new ExcelExportServer().createSheet(hssfWorkbook,
@@ -47,4 +54,10 @@ public class JeecgSingleExcelView extends AbstractExcelView {
(Collection>) model.get(NormalExcelConstants.DATA_LIST));
}
}
+
+ public boolean isIE(HttpServletRequest request) {
+ return (request.getHeader("USER-AGENT").toLowerCase().indexOf("msie") > 0 || request
+ .getHeader("USER-AGENT").toLowerCase().indexOf("rv:11.0") > 0) ? true
+ : false;
+ }
}
diff --git a/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgTemplateExcelView.java b/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgTemplateExcelView.java
index 6729ae3..12957b1 100644
--- a/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgTemplateExcelView.java
+++ b/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgTemplateExcelView.java
@@ -38,8 +38,14 @@ public class JeecgTemplateExcelView extends AbstractView {
codedFileName = (String) model.get(NormalExcelConstants.FILE_NAME)
+ ".xls";
}
- response.setHeader("content-disposition", "attachment;filename="
- + new String(codedFileName.getBytes(), "iso8859-1"));
+ if (isIE(request)) {
+ codedFileName = java.net.URLEncoder.encode(codedFileName, "UTF8");
+ } else {
+ codedFileName = new String(codedFileName.getBytes("UTF-8"),
+ "ISO-8859-1");
+ }
+ response.setHeader("content-disposition",
+ "attachment;filename="+codedFileName);
Workbook workbook = ExcelExportUtil.exportExcel(
(TemplateExportParams)model.get(TemplateExcelConstants.PARAMS),
(Class>) model.get(TemplateExcelConstants.CLASS),
@@ -49,4 +55,10 @@ public class JeecgTemplateExcelView extends AbstractView {
workbook.write(out);
out.flush();
}
+
+ public boolean isIE(HttpServletRequest request) {
+ return (request.getHeader("USER-AGENT").toLowerCase().indexOf("msie") > 0 || request
+ .getHeader("USER-AGENT").toLowerCase().indexOf("rv:11.0") > 0) ? true
+ : false;
+ }
}
diff --git a/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgTemplateWordView.java b/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgTemplateWordView.java
index 694adf8..3e449eb 100644
--- a/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgTemplateWordView.java
+++ b/easypoi-web/src/main/java/org/jeecgframework/poi/excel/view/JeecgTemplateWordView.java
@@ -35,12 +35,26 @@ public class JeecgTemplateWordView extends AbstractView {
codedFileName = (String) model.get(TemplateWordConstants.FILE_NAME)
+ ".docx";
}
+ if (isIE(request)) {
+ codedFileName = java.net.URLEncoder.encode(codedFileName, "UTF8");
+ } else {
+ codedFileName = new String(codedFileName.getBytes("UTF-8"),
+ "ISO-8859-1");
+ }
response.setHeader("content-disposition", "attachment;filename="
- + new String(codedFileName.getBytes(), "iso8859-1"));
- XWPFDocument document = WordExportUtil.exportWord07((String)model.get(TemplateWordConstants.URL),
- (Map)model.get(TemplateWordConstants.MAP_DATA));
+ + codedFileName);
+ XWPFDocument document = WordExportUtil
+ .exportWord07((String) model.get(TemplateWordConstants.URL),
+ (Map) model
+ .get(TemplateWordConstants.MAP_DATA));
ServletOutputStream out = response.getOutputStream();
document.write(out);
out.flush();
}
+
+ public boolean isIE(HttpServletRequest request) {
+ return (request.getHeader("USER-AGENT").toLowerCase().indexOf("msie") > 0 || request
+ .getHeader("USER-AGENT").toLowerCase().indexOf("rv:11.0") > 0) ? true
+ : false;
+ }
}
diff --git a/package.bat b/package.bat
index 84e3f30..04a1285 100644
--- a/package.bat
+++ b/package.bat
@@ -1 +1 @@
-cmd /k mvn package
\ No newline at end of file
+cmd /k mvn package -DskipTest
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 6146c2f..10ae36b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
org.jeecgframework
easypoi
- 2.0.2
+ 2.0.6-SNAPSHOT
pom
easypoi
@@ -11,18 +11,19 @@
easypoi-web
easypoi-test
-
+
www.jeecg.org
office 工具类 基于 poi
-
+
JueYue
qrb.jueyue@gmail.com
-
+
+ 2.0.6-SNAPSHOT
3.9
3.9
3.9
@@ -109,7 +110,7 @@
2.5
provided
-
+
junit
@@ -117,16 +118,17 @@
${junit.version}
test
-
+
org.jeecgframework
easypoi-base
- 2.0.2
+ ${sub.version}
+
postaop-pay-platform-release
@@ -134,10 +136,15 @@
postaop-pay-platform-snapshot
- http://192.168.0.99:8081/nexus/content/repositoriespostaop-common-snapshot/
+ http://192.168.0.99:8081/nexus/content/repositories/postaop-common-snapshot/
+
+ scm:svn:https://192.168.0.99:8443/svn/postaop-platform/qdcrm/trunk/
+ scm:svn:https://192.168.0.99:8443/svn/postaop-platform/qdcrm/trunk/
+
+