From fd6e9792752e1f5b86bd6797568d76990393027d Mon Sep 17 00:00:00 2001 From: jueyue Date: Thu, 11 Jun 2015 22:58:13 +0800 Subject: [PATCH] =?UTF-8?q?sorry,=E4=BF=AE=E6=94=B9=E4=BA=86group=20Id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .settings/org.eclipse.m2e.core.prefs | 2 +- README.md | 6 + easypoi-annotation/pom.xml | 4 +- easypoi-base/pom.xml | 6 +- .../poi/excel/imports/ExcelImportServer.java | 3 + easypoi-test/.classpath | 31 ---- easypoi-test/.gitignore | 1 - easypoi-test/.project | 23 --- .../org.eclipse.core.resources.prefs | 2 - .../.settings/org.eclipse.jdt.core.prefs | 5 - .../.settings/org.eclipse.m2e.core.prefs | 4 - easypoi-test/pom.xml | 26 --- .../poi/excel/ExcelToHtmlUtilTest.java | 91 ----------- .../org/jeecgframework/poi/test/.gitignore | 1 - .../org/jeecgframework/poi/test/UtilTest.java | 15 -- .../poi/test/entity/CourseEntity.java | 108 ------------- .../poi/test/entity/ExcelVerifyEntity.java | 124 -------------- .../poi/test/entity/MsgClient.java | 146 ----------------- .../poi/test/entity/MsgClientGroup.java | 55 ------- .../poi/test/entity/StudentEntity.java | 119 -------------- .../poi/test/entity/TeacherEntity.java | 72 --------- .../poi/test/entity/TestEntity.java | 28 ---- .../poi/test/entity/samename/ClassName.java | 46 ------ .../entity/statistics/StatisticEntity.java | 80 ---------- .../entity/temp/BudgetAccountsEntity.java | 34 ---- .../poi/test/entity/temp/PayeeEntity.java | 40 ----- .../temp/TemplateExcelExportEntity.java | 99 ------------ .../poi/test/excel/doc/exportTemp.xls | Bin 25600 -> 0 bytes .../poi/test/excel/doc/foreach.xlsx | Bin 10534 -> 0 bytes .../excel/doc/专项支出用款申请书.xls | Bin 30720 -> 0 bytes .../styler/ExcelExportStatisticStyler.java | 41 ----- .../excel/template/ManySheetOneSyler.java | 41 ----- .../template/TemplateExcelExportTest.java | 84 ---------- .../template/TemplateExcelSheetTest.java | 113 ------------- .../excel/template/TemplateForEachTest.java | 77 --------- .../poi/test/excel/test/CourseHanlder.java | 20 --- .../test/excel/test/ExcelExportForMap.java | 140 ---------------- .../test/excel/test/ExcelExportMsgClient.java | 67 -------- .../excel/test/ExcelExportStatisticTest.java | 48 ------ .../excel/test/ExcelExportTemplateTest.java | 116 -------------- .../test/ExcelExportUtilDataHandlerTest.java | 73 --------- .../excel/test/ExcelExportUtilIdTest.java | 79 --------- .../test/excel/test/ExcelExportUtilTest.java | 151 ------------------ .../poi/test/read/ExcelImportUtilTest.java | 69 -------- .../test/word/WordExportUtilAnnExcelTest.java | 117 -------------- .../word/WordExportUtilBaseExcelTest.java | 80 ---------- .../poi/test/word/WordExportUtilTest.java | 66 -------- .../poi/test/word/doc/Excel.docx | Bin 14845 -> 0 bytes .../poi/test/word/doc/Image.docx | Bin 14009 -> 0 bytes .../poi/test/word/doc/Simple.docx | Bin 15188 -> 0 bytes .../poi/test/word/doc/SimpleExcel.docx | Bin 14706 -> 0 bytes .../poi/test/word/entity/Person.java | 43 ----- .../poi/test/word/img/testCode.png | Bin 19427 -> 0 bytes .../poi/util/PoiElUtilTest.java | 103 ------------ .../src/main/resources/log4j.properties | 11 -- easypoi-web/pom.xml | 6 +- pom.xml | 108 ++++++++++--- 57 files changed, 100 insertions(+), 2724 deletions(-) delete mode 100644 easypoi-test/.classpath delete mode 100644 easypoi-test/.gitignore delete mode 100644 easypoi-test/.project delete mode 100644 easypoi-test/.settings/org.eclipse.core.resources.prefs delete mode 100644 easypoi-test/.settings/org.eclipse.jdt.core.prefs delete mode 100644 easypoi-test/.settings/org.eclipse.m2e.core.prefs delete mode 100644 easypoi-test/pom.xml delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/excel/ExcelToHtmlUtilTest.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/.gitignore delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/UtilTest.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/CourseEntity.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/ExcelVerifyEntity.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/MsgClient.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/MsgClientGroup.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/StudentEntity.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/TeacherEntity.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/TestEntity.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/samename/ClassName.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/statistics/StatisticEntity.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/temp/BudgetAccountsEntity.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/temp/PayeeEntity.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/temp/TemplateExcelExportEntity.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/doc/exportTemp.xls delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/doc/foreach.xlsx delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/doc/专项支出用款申请书.xls delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/styler/ExcelExportStatisticStyler.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/ManySheetOneSyler.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateExcelExportTest.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateExcelSheetTest.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateForEachTest.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/CourseHanlder.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportForMap.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportMsgClient.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportStatisticTest.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportTemplateTest.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilDataHandlerTest.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilIdTest.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilTest.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/read/ExcelImportUtilTest.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/word/WordExportUtilAnnExcelTest.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/word/WordExportUtilBaseExcelTest.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/word/WordExportUtilTest.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/word/doc/Excel.docx delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/word/doc/Image.docx delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/word/doc/Simple.docx delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/word/doc/SimpleExcel.docx delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/word/entity/Person.java delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/test/word/img/testCode.png delete mode 100644 easypoi-test/src/main/java/org/jeecgframework/poi/util/PoiElUtilTest.java delete mode 100644 easypoi-test/src/main/resources/log4j.properties diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs index 14b697b..91377ac 100644 --- a/.settings/org.eclipse.m2e.core.prefs +++ b/.settings/org.eclipse.m2e.core.prefs @@ -1,4 +1,4 @@ -activeProfiles= +activeProfiles=cc-mzone-profile eclipse.preferences.version=1 resolveWorkspaceProjects=true version=1 diff --git a/README.md b/README.md index 4ec576b..304a959 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,12 @@ maven -------------------------- 版本修改 -------------------------- + + - 2.2.0-SNAPSHOT + - !!!没有功能更新,但是groupId 改成org.jeecg,为了以后可以直接提交到中央库了 + - 把test 那个模块删除了 + + - 2.1.1-release -小更新/防止下一个预览功能太久不能发布更新 - $fe标签 - 几个可能影响使用的bug diff --git a/easypoi-annotation/pom.xml b/easypoi-annotation/pom.xml index 584bc2f..d638667 100644 --- a/easypoi-annotation/pom.xml +++ b/easypoi-annotation/pom.xml @@ -2,9 +2,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.jeecgframework + org.jeecg easypoi - 2.1.2-SNAPSHOT + 2.2.0-SNAPSHOT easypoi-annotation 基础注解类,解耦合 diff --git a/easypoi-base/pom.xml b/easypoi-base/pom.xml index 61fcd58..9b0bd4d 100644 --- a/easypoi-base/pom.xml +++ b/easypoi-base/pom.xml @@ -2,9 +2,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.jeecgframework + org.jeecg easypoi - 2.1.2-SNAPSHOT + 2.2.0-SNAPSHOT easypoi-base @@ -59,7 +59,7 @@ - org.jeecgframework + org.jeecg easypoi-annotation diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/imports/ExcelImportServer.java b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/imports/ExcelImportServer.java index 9ddb407..3180fcc 100644 --- a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/imports/ExcelImportServer.java +++ b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/imports/ExcelImportServer.java @@ -143,6 +143,9 @@ public class ExcelImportServer extends ImportBaseService { case Cell.CELL_TYPE_NUMERIC: obj = cell.getNumericCellValue(); break; + case Cell.CELL_TYPE_FORMULA: + obj = cell.getCellFormula(); + break; } return obj == null ? null : obj.toString().trim(); } diff --git a/easypoi-test/.classpath b/easypoi-test/.classpath deleted file mode 100644 index f67a1d3..0000000 --- a/easypoi-test/.classpath +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/easypoi-test/.gitignore b/easypoi-test/.gitignore deleted file mode 100644 index ea8c4bf..0000000 --- a/easypoi-test/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/easypoi-test/.project b/easypoi-test/.project deleted file mode 100644 index 8305fe2..0000000 --- a/easypoi-test/.project +++ /dev/null @@ -1,23 +0,0 @@ - - - easypoi-test - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.m2e.core.maven2Nature - - diff --git a/easypoi-test/.settings/org.eclipse.core.resources.prefs b/easypoi-test/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index 1f887b6..0000000 --- a/easypoi-test/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -encoding//src/main/java=UTF-8 diff --git a/easypoi-test/.settings/org.eclipse.jdt.core.prefs b/easypoi-test/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 14f521d..0000000 --- a/easypoi-test/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,5 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/easypoi-test/.settings/org.eclipse.m2e.core.prefs b/easypoi-test/.settings/org.eclipse.m2e.core.prefs deleted file mode 100644 index 14b697b..0000000 --- a/easypoi-test/.settings/org.eclipse.m2e.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/easypoi-test/pom.xml b/easypoi-test/pom.xml deleted file mode 100644 index b156a90..0000000 --- a/easypoi-test/pom.xml +++ /dev/null @@ -1,26 +0,0 @@ - - 4.0.0 - - org.jeecgframework - easypoi - 2.1.2-SNAPSHOT - - easypoi-test - - - org.jeecgframework - easypoi-base - - - - org.slf4j - slf4j-log4j12 - - - - junit - junit - - - \ No newline at end of file diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/excel/ExcelToHtmlUtilTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/excel/ExcelToHtmlUtilTest.java deleted file mode 100644 index c5043d7..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/excel/ExcelToHtmlUtilTest.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.jeecgframework.poi.excel; - -import static org.junit.Assert.*; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileWriter; -import java.io.IOException; - -import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.ss.usermodel.Workbook; -import org.jeecgframework.poi.util.PoiPublicUtil; -import org.junit.Test; - -public class ExcelToHtmlUtilTest { - - //@Test - public void testToTableHtmlWorkbook() { - try { - Workbook wb = new HSSFWorkbook(new FileInputStream( - new File( - PoiPublicUtil - .getWebRootPath("org/jeecgframework/poi/test/excel/doc/专项支出用款申请书.xls")))); - String html = ExcelToHtmlUtil.toTableHtml(wb); - FileWriter fw = new FileWriter("d:/专项支出用款申请书_table.html"); - fw.write(html); - fw.close(); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - //@Test - public void testToTableHtmlWorkbookInt() { - try { - Workbook wb = new HSSFWorkbook(new FileInputStream(new File( - PoiPublicUtil - .getWebRootPath("org/jeecgframework/poi/test/excel/doc/exportTemp.xls")))); - String html = ExcelToHtmlUtil.toTableHtml(wb, 1); - FileWriter fw = new FileWriter("d:/exportTemp_table.html"); - fw.write(html); - fw.close(); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Test - public void testToAllHtmlWorkbook() { - - try { - Workbook wb = new HSSFWorkbook(new FileInputStream( - new File("d:/tt.xls"))); -// Workbook wb = new HSSFWorkbook(new FileInputStream( -// new File( -// PoiPublicUtil -// .getWebRootPath("org/jeecgframework/poi/test/excel/doc/专项支出用款申请书.xls")))); - String html = ExcelToHtmlUtil.toTableHtml(wb); - FileWriter fw = new FileWriter("d:/专项支出用款申请书_all.html"); - fw.write(html); - fw.close(); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - //@Test - public void testToAllHtmlWorkbookInt() { - try { - Workbook wb = new HSSFWorkbook(new FileInputStream(new File( - PoiPublicUtil - .getWebRootPath("org/jeecgframework/poi/test/excel/doc/exportTemp.xls")))); - String html = ExcelToHtmlUtil.toAllHtml(wb, 1); - FileWriter fw = new FileWriter("d:/exportTemp_all.html"); - fw.write(html); - fw.close(); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/.gitignore b/easypoi-test/src/main/java/org/jeecgframework/poi/test/.gitignore deleted file mode 100644 index d4e38ae..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/read diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/UtilTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/UtilTest.java deleted file mode 100644 index accd039..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/UtilTest.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.jeecgframework.poi.test; - -public class UtilTest { - - public static void main(String[] args) { - String text = " {{ p in pList}}"; - text = text.replace("{{", "").replace("}}", "").replaceAll("\\s{1,}", " ").trim(); - System.out.println(text); - System.out.println(text.length()); - - - - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/CourseEntity.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/CourseEntity.java deleted file mode 100644 index c18eee4..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/CourseEntity.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.jeecgframework.poi.test.entity; - -import java.util.List; - -import org.jeecgframework.poi.excel.annotation.Excel; -import org.jeecgframework.poi.excel.annotation.ExcelCollection; -import org.jeecgframework.poi.excel.annotation.ExcelEntity; -import org.jeecgframework.poi.excel.annotation.ExcelTarget; -import org.jeecgframework.poi.excel.annotation.ExcelVerify; - -/** - * @Title: Entity - * @Description: 课程 - * @author JueYue - * @date 2013-08-31 22:53:07 - * @version V1.0 - * - */ -@SuppressWarnings("serial") -@ExcelTarget("courseEntity") -public class CourseEntity implements java.io.Serializable { - /** 主键 */ - private String id; - /** 课程名称 */ - @Excel(name = "课程名称", orderNum = "1", width = 15, needMerge = true) - private String name; - /** 老师主键 */ - @ExcelEntity(id = "yuwen") - @ExcelVerify() - private TeacherEntity teacher; - /** 老师主键 */ - //@ExcelEntity(id = "shuxue") - private TeacherEntity shuxueteacher; - - @ExcelCollection(name = "", orderNum = "4") - private List students; - - /** - * 方法: 取得java.lang.String - * - * @return: java.lang.String 主键 - */ - - public String getId() { - return this.id; - } - - /** - * 方法: 取得java.lang.String - * - * @return: java.lang.String 课程名称 - */ - public String getName() { - return this.name; - } - - public TeacherEntity getShuxueteacher() { - return shuxueteacher; - } - - public List getStudents() { - return students; - } - - /** - * 方法: 取得java.lang.String - * - * @return: java.lang.String 老师主键 - */ - public TeacherEntity getTeacher() { - return teacher; - } - - /** - * 方法: 设置java.lang.String - * - * @param: java.lang.String 主键 - */ - public void setId(String id) { - this.id = id; - } - - /** - * 方法: 设置java.lang.String - * - * @param: java.lang.String 课程名称 - */ - public void setName(String name) { - this.name = name; - } - - public void setShuxueteacher(TeacherEntity shuxueteacher) { - this.shuxueteacher = shuxueteacher; - } - - public void setStudents(List students) { - this.students = students; - } - - /** - * 方法: 设置java.lang.String - * - * @param: java.lang.String 老师主键 - */ - public void setTeacher(TeacherEntity teacher) { - this.teacher = teacher; - } -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/ExcelVerifyEntity.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/ExcelVerifyEntity.java deleted file mode 100644 index d513cac..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/ExcelVerifyEntity.java +++ /dev/null @@ -1,124 +0,0 @@ -package org.jeecgframework.poi.test.entity; - -import org.jeecgframework.poi.excel.annotation.Excel; -import org.jeecgframework.poi.excel.annotation.ExcelVerify; - -/** - * Excel导入校验类 - * @author JueYue - * @date 2015年2月24日 下午2:21:07 - */ -public class ExcelVerifyEntity { - - /** - * Email校验 - */ - @Excel(name = "Email", width = 25) - @ExcelVerify(isEmail = true, notNull = true) - private String email; - /** - * 手机号校验 - */ - @Excel(name = "Mobile", width = 20) - @ExcelVerify(isMobile = true, notNull = true) - private String mobile; - /** - * 电话校验 - */ - @Excel(name = "Tel", width = 20) - @ExcelVerify(isTel = true, notNull = true) - private String tel; - /** - * 最长校验 - */ - @Excel(name = "MaxLength") - @ExcelVerify(maxLength = 15) - private String maxLength; - /** - * 最短校验 - */ - @Excel(name = "MinLength") - @ExcelVerify(minLength = 3) - private String minLength; - /** - * 非空校验 - */ - @Excel(name = "NotNull") - @ExcelVerify(notNull = true) - private String notNull; - /** - * 正则校验 - */ - @Excel(name = "Regex") - @ExcelVerify(regex = "[\u4E00-\u9FA5]*", regexTip = "不是中文") - private String regex; - /** - * 接口校验 - */ - private String interHandler; - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getMobile() { - return mobile; - } - - public void setMobile(String mobile) { - this.mobile = mobile; - } - - public String getTel() { - return tel; - } - - public void setTel(String tel) { - this.tel = tel; - } - - public String getMaxLength() { - return maxLength; - } - - public void setMaxLength(String maxLength) { - this.maxLength = maxLength; - } - - public String getMinLength() { - return minLength; - } - - public void setMinLength(String minLength) { - this.minLength = minLength; - } - - public String getNotNull() { - return notNull; - } - - public void setNotNull(String notNull) { - this.notNull = notNull; - } - - public String getRegex() { - return regex; - } - - public void setRegex(String regex) { - this.regex = regex; - } - - public String getInterHandler() { - return interHandler; - } - - public void setInterHandler(String interHandler) { - this.interHandler = interHandler; - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/MsgClient.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/MsgClient.java deleted file mode 100644 index ec046a0..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/MsgClient.java +++ /dev/null @@ -1,146 +0,0 @@ -package org.jeecgframework.poi.test.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.util.Date - * - * @return: java.util.Date 生日 - */ - public java.util.Date getBirthday() { - return this.birthday; - } - - /** - * 方法: 取得java.lang.String - * - * @return: java.lang.String 客户姓名 - */ - public java.lang.String getClientName() { - return this.clientName; - } - - /** - * 方法: 取得java.lang.String - * - * @return: java.lang.String 电话号码 - */ - public java.lang.String getClientPhone() { - return this.clientPhone; - } - - public String getCreateBy() { - return createBy; - } - - public MsgClientGroup getGroup() { - return group; - } - - /** - * 方法: 取得java.lang.String - * - * @return: java.lang.String id - */ - - public java.lang.String getId() { - return this.id; - } - - /** - * 方法: 取得java.lang.String - * - * @return: java.lang.String 备注 - */ - public java.lang.String getRemark() { - return this.remark; - } - - /** - * 方法: 设置java.util.Date - * - * @param: java.util.Date 生日 - */ - public void setBirthday(java.util.Date birthday) { - this.birthday = birthday; - } - - /** - * 方法: 设置java.lang.String - * - * @param: java.lang.String 客户姓名 - */ - public void setClientName(java.lang.String clientName) { - this.clientName = clientName; - } - - /** - * 方法: 设置java.lang.String - * - * @param: java.lang.String 电话号码 - */ - public void setClientPhone(java.lang.String clientPhone) { - this.clientPhone = clientPhone; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public void setGroup(MsgClientGroup group) { - this.group = group; - } - - /** - * 方法: 设置java.lang.String - * - * @param: java.lang.String id - */ - public void setId(java.lang.String id) { - this.id = id; - } - - /** - * 方法: 设置java.lang.String - * - * @param remark - * - * @param: java.lang.String 备注 - */ - public void setRemark(java.lang.String remark) { - this.remark = remark; - } -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/MsgClientGroup.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/MsgClientGroup.java deleted file mode 100644 index 94501ea..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/MsgClientGroup.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.jeecgframework.poi.test.entity; - -import java.io.Serializable; - -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; - - /*@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 String getGroupName() { - return groupName; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public void setGroupName(String groupName) { - this.groupName = groupName; - } -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/StudentEntity.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/StudentEntity.java deleted file mode 100644 index 271b1ae..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/StudentEntity.java +++ /dev/null @@ -1,119 +0,0 @@ -package org.jeecgframework.poi.test.entity; - -import java.util.Date; - -import org.jeecgframework.poi.excel.annotation.Excel; - -/** - * @author JueYue - * @version V1.0 - * @Title: Entity - * @Description: 学生 - * @date 2013-08-31 22:53:34 - */ -@SuppressWarnings("serial") -public class StudentEntity implements java.io.Serializable { - /** - * id - */ - private String id; - /** - * 学生姓名 - */ - @Excel(name = "学生姓名", height = 20, width = 30) - private String name; - /** - * 学生性别 - */ - @Excel(name = "学生性别", replace = { "男_1", "女_2" }, suffix = "生") - private int sex; - - @Excel(name = "出生日期", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd") - private Date birthday; - - @Excel(name = "进校日期", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd") - private java.sql.Time registrationDate; - /** - * 课程主键 - */ - private CourseEntity course; - - public CourseEntity getCourse() { - return course; - } - - /** - * 方法: 取得java.lang.String - * - * @return: java.lang.String id - */ - public String getId() { - return this.id; - } - - /** - * 方法: 取得java.lang.String - * - * @return: java.lang.String 学生姓名 - */ - public String getName() { - return this.name; - } - - /** - * 方法: 取得java.lang.String - * - * @return: java.lang.String 学生性别 - */ - public int getSex() { - return this.sex; - } - - public void setCourse(CourseEntity course) { - this.course = course; - } - - /** - * 方法: 设置java.lang.String - * - * @param: java.lang.String id - */ - public void setId(String id) { - this.id = id; - } - - /** - * 方法: 设置java.lang.String - * - * @param: java.lang.String 学生姓名 - */ - public void setName(String name) { - this.name = name; - } - - /** - * 方法: 设置java.lang.String - * - * @param: java.lang.String 学生性别 - */ - public void setSex(int sex) { - this.sex = sex; - } - - public Date getBirthday() { - return birthday; - } - - public void setBirthday(Date birthday) { - this.birthday = birthday; - } - - public java.sql.Time getRegistrationDate() { - return registrationDate; - } - - public void setRegistrationDate(java.sql.Time registrationDate) { - this.registrationDate = registrationDate; - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/TeacherEntity.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/TeacherEntity.java deleted file mode 100644 index 35cacab..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/TeacherEntity.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.jeecgframework.poi.test.entity; - -import org.jeecgframework.poi.excel.annotation.Excel; -import org.jeecgframework.poi.excel.annotation.ExcelTarget; - -/** - * @Title: Entity - * @Description: 课程老师 - * @author JueYue - * @date 2013-08-31 22:52:17 - * @version V1.0 - * - */ -@SuppressWarnings("serial") -@ExcelTarget("teacherEntity") -public class TeacherEntity implements java.io.Serializable { - /** id */ - @Excel(name = "老师ID_teacherEntity,老师属性_courseEntity", orderNum = "2", needMerge = false) - private String id; - /** name */ - @Excel(name = "老师姓名_yuwen,数学老师_shuxue", orderNum = "2", mergeVertical = true) - private String name; - - /* - * @Excel(exportName="老师照片",orderNum="3",exportType=2,exportFieldHeight=15, - * exportFieldWidth=20) private String pic; - */ - - /** - * 方法: 取得java.lang.String - * - * @return: java.lang.String id - */ - - public String getId() { - return this.id; - } - - /** - * 方法: 取得java.lang.String - * - * @return: java.lang.String name - */ - public String getName() { - return this.name; - } - - /** - * 方法: 设置java.lang.String - * - * @param: java.lang.String id - */ - public void setId(String id) { - this.id = id; - } - - /** - * 方法: 设置java.lang.String - * - * @param: java.lang.String name - */ - public void setName(String name) { - this.name = name; - } - - /* - * public String getPic() { // if(StringUtils.isEmpty(pic)){ // pic = - * "plug-in/login/images/jeecg.png"; // } return pic; } - * - * public void setPic(String pic) { this.pic = pic; } - */ -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/TestEntity.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/TestEntity.java deleted file mode 100644 index 6bb625d..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/TestEntity.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.jeecgframework.poi.test.entity; - -import org.jeecgframework.poi.excel.annotation.Excel; - -public class TestEntity { - - @Excel(name = "蓝牙POS机") - private String lanya; - @Excel(name = "蓝牙点付宝") - private String pos; - - public String getLanya() { - return lanya; - } - - public void setLanya(String lanya) { - this.lanya = lanya; - } - - public String getPos() { - return pos; - } - - public void setPos(String pos) { - this.pos = pos; - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/samename/ClassName.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/samename/ClassName.java deleted file mode 100644 index d84ff39..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/samename/ClassName.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.jeecgframework.poi.test.entity.samename; - -import java.util.List; - -import org.jeecgframework.poi.excel.annotation.Excel; -import org.jeecgframework.poi.excel.annotation.ExcelCollection; -import org.jeecgframework.poi.test.entity.StudentEntity; - -public class ClassName { - - @Excel(name="班级") - private String name; - - @ExcelCollection(name="小组A") - private List arrA; - - @ExcelCollection(name="小组B") - private List arrB; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public List getArrA() { - return arrA; - } - - public void setArrA(List arrA) { - this.arrA = arrA; - } - - public List getArrB() { - return arrB; - } - - public void setArrB(List arrB) { - this.arrB = arrB; - } - - - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/statistics/StatisticEntity.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/statistics/StatisticEntity.java deleted file mode 100644 index 3848c9f..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/statistics/StatisticEntity.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.jeecgframework.poi.test.entity.statistics; - -import java.math.BigDecimal; - -import org.jeecgframework.poi.excel.annotation.Excel; - -/** - * 统计测试类 - * @author JueYue - * @date 2014年12月17日 上午11:51:10 - */ -public class StatisticEntity { - - @Excel(name = "名称") - private String name; - - @Excel(name = "int 测试", width = 15, isStatistics = true) - private int intTest; - - @Excel(name = "long 测试", width = 15, isStatistics = true) - private long longTest; - - @Excel(name = "double 测试", width = 15, isStatistics = true) - private double doubleTest; - - @Excel(name = "string 测试", width = 15, isStatistics = true) - private String stringTest; - - @Excel(name = "BigDecimal 测试", width = 15, isStatistics = true) - private BigDecimal bigDecimalTest; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public int getIntTest() { - return intTest; - } - - public void setIntTest(int intTest) { - this.intTest = intTest; - } - - public long getLongTest() { - return longTest; - } - - public void setLongTest(long longTest) { - this.longTest = longTest; - } - - public double getDoubleTest() { - return doubleTest; - } - - public void setDoubleTest(double doubleTest) { - this.doubleTest = doubleTest; - } - - public String getStringTest() { - return stringTest; - } - - public void setStringTest(String stringTest) { - this.stringTest = stringTest; - } - - public BigDecimal getBigDecimalTest() { - return bigDecimalTest; - } - - public void setBigDecimalTest(BigDecimal bigDecimalTest) { - this.bigDecimalTest = bigDecimalTest; - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/temp/BudgetAccountsEntity.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/temp/BudgetAccountsEntity.java deleted file mode 100644 index a3be7ac..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/temp/BudgetAccountsEntity.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.jeecgframework.poi.test.entity.temp; - -import org.jeecgframework.poi.excel.annotation.Excel; - -/** - * 预算 - * @author JueYue - * @date 2014年12月27日 下午9:08:03 - */ -public class BudgetAccountsEntity { - - @Excel(name = "编码") - private String code; - - @Excel(name = "名称") - private String name; - - public String getCode() { - return code; - } - - public void setCode(String code) { - this.code = code; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/temp/PayeeEntity.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/temp/PayeeEntity.java deleted file mode 100644 index 1fa4919..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/temp/PayeeEntity.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.jeecgframework.poi.test.entity.temp; - -import org.jeecgframework.poi.excel.annotation.Excel; - -public class PayeeEntity { - - @Excel(name = "全称") - private String name; - - @Excel(name = "银行账号") - private String bankAccount; - - @Excel(name = "开户银行") - private String bankName; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getBankAccount() { - return bankAccount; - } - - public void setBankAccount(String bankAccount) { - this.bankAccount = bankAccount; - } - - public String getBankName() { - return bankName; - } - - public void setBankName(String bankName) { - this.bankName = bankName; - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/temp/TemplateExcelExportEntity.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/temp/TemplateExcelExportEntity.java deleted file mode 100644 index b33914f..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/entity/temp/TemplateExcelExportEntity.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.jeecgframework.poi.test.entity.temp; - -import java.io.Serializable; -import java.util.List; - -import org.jeecgframework.poi.excel.annotation.Excel; -import org.jeecgframework.poi.excel.annotation.ExcelCollection; -import org.jeecgframework.poi.excel.annotation.ExcelEntity; - -/** - * 模板导出 测试类 - * @author JueYue - * @date 2014年12月26日 上午9:39:13 - */ -public class TemplateExcelExportEntity implements Serializable { - - /** - * - */ - private static final long serialVersionUID = 1L; - - @Excel(name = "序号") - private String index; - - @Excel(name = "资金性质") - private String accountType; - - @ExcelCollection(name = "预算科目") - private List budgetAccounts; - - @Excel(name = "项目名称") - private String projectName; - - @ExcelEntity(name = "收款人") - private PayeeEntity payee; - - @Excel(name = "申请金额") - private String amountApplied; - - @Excel(name = "核定金额") - private String approvedAmount; - - public String getIndex() { - return index; - } - - public void setIndex(String index) { - this.index = index; - } - - public String getAccountType() { - return accountType; - } - - public void setAccountType(String accountType) { - this.accountType = accountType; - } - - public List getBudgetAccounts() { - return budgetAccounts; - } - - public void setBudgetAccounts(List budgetAccounts) { - this.budgetAccounts = budgetAccounts; - } - - public String getProjectName() { - return projectName; - } - - public void setProjectName(String projectName) { - this.projectName = projectName; - } - - public PayeeEntity getPayee() { - return payee; - } - - public void setPayee(PayeeEntity payee) { - this.payee = payee; - } - - public String getAmountApplied() { - return amountApplied; - } - - public void setAmountApplied(String amountApplied) { - this.amountApplied = amountApplied; - } - - public String getApprovedAmount() { - return approvedAmount; - } - - public void setApprovedAmount(String approvedAmount) { - this.approvedAmount = approvedAmount; - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/doc/exportTemp.xls b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/doc/exportTemp.xls deleted file mode 100644 index 545a40706113c14dc4ba89fcc67fd90f246e9d7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25600 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

2l!WgWL(bZ{EMLb7NcM(VxfOdban)q|g3* zH|g#?@w;)WBC2$(b23uM0Q%t(w{Y7rRy8c0a!FOrMvz`QJP%7fd)}|Km`z z@inBy{D{T!?eF}oi&NZMTMm97***Kp6a%M~N2_nQEngoZJ`uNf?@za&VocQq!VYkv zM%O|X*f@b_SsT$$9YAwsrz-6Z_T;SdGz)63lvD*A^9-CX(i|MTK;c4~Z^f zG%+-tK!s5aXZ5(+)Z-En{S4@B3*4KM!BG2SaMMOeIqV>nbM7V}gM0rKezKKOPD*s6m&9wF?EHKy0*@QrV?kdVK=dv-2#XoP<}rQ_os ze47(~Pok7UdLIKx2oA8F4$eWogq(wLkHfrAYBJ?6qTlV5-1q$*IoD3g>!<$hIoF}Y z1R&2w3(EfSr4-)vlL4DKVRXMvMx^wlj|V)2_)rjtMTXaji%10bb@0fGENxBUfViKHDw z-4(?#iV3lRA%VR(-0Oj0fny&Wt%Wq=+jG+JTu&`u1UvJ@gyAPb`~yDx82~KqZtLN5^oiE1MER3bjKdAzX!1Jb};< zQet?TvL9@R`4RLZqH``RP*MrZe(Wmf^KtE_ACwLuJ1pJ1; zvle{PlSTT%H@=uK08LqIOxkI`G41~z-4MUY5l<`YdjRl*l(qb6?uQgJo@m9^AO)HiJII1%XcEyswh%}@#i(>l6IvbJO zOx4+C0#21iFbZN>1s@jDq~Y{sM9$K(3O<~;jmRpsvN)|7k@sqRILT_3#o5b-z-sSOXqy_zXPSkn$kN06H7uf&oYRfh=7J zUW~S47APV};gXC=!HF%nK~>VQUShT)2D)q*lT*xY!7!FIHw!h=>0sXHtmg#NxrDX29zM)O0 z577kDhlf}O{>%cY)+~YnXc0uD$`s9eODa8B)Qm7T`)tg?ShcWu$p~^t|7znY9sD5qP(s&Xih`u_S$wMq>$V2^%C{{4* zJ?NeB^o5%!2TzYA(ArBVo&$>~0lY-|ifP1?fOUJ(7f&-~P&cHbS4Y#=)gav%uwp<; zTeuR!xM*8rjI1^O>`X{o=z{tXr|fR2?(hSAe( zGT0r%b8H{;K59Q`a$E*0f<7vvb39@h1u!^g!pW9Va3_f8v_3ZAJ75*E@mHVn=)9@= zFzU(kvGVnV)tl|VCI5%jmrm@vd+9o92xAj=Uz|Fy+d{_6t&eH%N3xC}fH#ASVAw$& zG~fM>lbXi6m!+QW?p{(B8V8{sY01fcbV8=@W_FEEmC15k{m37mZu>%q$iK<|LJRyC D!Ip?i diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/doc/foreach.xlsx b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/doc/foreach.xlsx deleted file mode 100644 index 523a44e5f17fa179e3253f9685af5c20369963e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10534 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 F^gr?SCOiND diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/doc/专项支出用款申请书.xls b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/doc/专项支出用款申请书.xls deleted file mode 100644 index 7528860a9ec86d13d0c6d0e20e272c6fcf0cc4e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30720 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 diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/styler/ExcelExportStatisticStyler.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/styler/ExcelExportStatisticStyler.java deleted file mode 100644 index 396dad5..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/styler/ExcelExportStatisticStyler.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.jeecgframework.poi.test.excel.styler; - -import org.apache.poi.hssf.usermodel.HSSFDataFormat; -import org.apache.poi.ss.usermodel.BuiltinFormats; -import org.apache.poi.ss.usermodel.CellStyle; -import org.apache.poi.ss.usermodel.Workbook; -import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity; -import org.jeecgframework.poi.excel.export.styler.ExcelExportStylerDefaultImpl; - -/** - * Excel 自定义styler 的例子 - * @author JueYue - * @date 2015年3月29日 下午9:04:41 - */ -public class ExcelExportStatisticStyler extends ExcelExportStylerDefaultImpl { - - private CellStyle numberCellStyle; - - public ExcelExportStatisticStyler(Workbook workbook) { - super(workbook); - createNumberCellStyler(); - } - - private void createNumberCellStyler() { - numberCellStyle = workbook.createCellStyle(); - numberCellStyle.setAlignment(CellStyle.ALIGN_CENTER); - numberCellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); - numberCellStyle.setDataFormat((short) BuiltinFormats.getBuiltinFormat("0.00")); - numberCellStyle.setWrapText(true); - } - - @Override - public CellStyle getStyles(boolean noneStyler, ExcelExportEntity entity) { - if (entity != null - && (entity.getName().contains("int") || entity.getName().contains("double"))) { - return numberCellStyle; - } - return super.getStyles(noneStyler, entity); - } - -} 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 deleted file mode 100644 index 3cf3ff5..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/ManySheetOneSyler.java +++ /dev/null @@ -1,41 +0,0 @@ -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/TemplateExcelExportTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateExcelExportTest.java deleted file mode 100644 index 59a1488..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateExcelExportTest.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.jeecgframework.poi.test.excel.template; - -import static org.junit.Assert.*; - -import java.io.File; -import java.io.FileOutputStream; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.poi.ss.usermodel.Workbook; -import org.jeecgframework.poi.excel.ExcelExportUtil; -import org.jeecgframework.poi.excel.entity.TemplateExportParams; -import org.jeecgframework.poi.excel.export.styler.ExcelExportStylerBorderImpl; -import org.jeecgframework.poi.excel.export.styler.ExcelExportStylerColorImpl; -import org.jeecgframework.poi.excel.export.styler.ExcelExportStylerDefaultImpl; -import org.jeecgframework.poi.test.entity.statistics.StatisticEntity; -import org.jeecgframework.poi.test.entity.temp.BudgetAccountsEntity; -import org.jeecgframework.poi.test.entity.temp.PayeeEntity; -import org.jeecgframework.poi.test.entity.temp.TemplateExcelExportEntity; -import org.junit.Test; - -import com.google.common.collect.Lists; - -public class TemplateExcelExportTest { - - @Test - public void test() throws Exception { - TemplateExportParams params = new TemplateExportParams( - "org/jeecgframework/poi/test/excel/doc/专项支出用款申请书.xls"); - params.setHeadingStartRow(3); - params.setHeadingRows(2); - params.setStyle(ExcelExportStylerColorImpl.class); - Map map = new HashMap(); - map.put("date", "2014-12-25"); - map.put("money", 2000000.00); - map.put("upperMoney", "贰佰万"); - map.put("company", "执笔潜行科技有限公司"); - map.put("bureau", "财政局"); - map.put("person", "JueYue"); - map.put("phone", "1879740****"); - - List list = new ArrayList(); - - for (int i = 0; i < 4; i++) { - TemplateExcelExportEntity entity = new TemplateExcelExportEntity(); - entity.setIndex(i + 1 + ""); - entity.setAccountType("开源项目"); - entity.setProjectName("EasyPoi " + i + "期"); - entity.setAmountApplied(i * 10000 + ""); - entity.setApprovedAmount((i + 1) * 10000 - 100 + ""); - List budgetAccounts = Lists.newArrayList(); - for (int j = 0; j < 1; j++) { - BudgetAccountsEntity accountsEntity = new BudgetAccountsEntity(); - accountsEntity.setCode("A001"); - accountsEntity.setName("设计"); - budgetAccounts.add(accountsEntity); - accountsEntity = new BudgetAccountsEntity(); - accountsEntity.setCode("A002"); - accountsEntity.setName("开发"); - budgetAccounts.add(accountsEntity); - } - entity.setBudgetAccounts(budgetAccounts); - PayeeEntity payeeEntity = new PayeeEntity(); - payeeEntity.setBankAccount("6222 0000 1234 1234"); - payeeEntity.setBankName("中国银行"); - payeeEntity.setName("小明"); - entity.setPayee(payeeEntity); - list.add(entity); - } - - Workbook workbook = ExcelExportUtil.exportExcel(params, TemplateExcelExportEntity.class, - list, map); - File savefile = new File("d:/"); - if (!savefile.exists()) { - savefile.mkdirs(); - } - FileOutputStream fos = new FileOutputStream("d:/tt.xls"); - workbook.write(fos); - fos.close(); - } -} 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 deleted file mode 100644 index 102bba7..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateExcelSheetTest.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.jeecgframework.poi.test.excel.template; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.ss.usermodel.Workbook; -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; -import org.junit.Test; - -public class TemplateExcelSheetTest { - - @Test - public void test() throws Exception { - ExcelExportServer util = new ExcelExportServer(); - 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); - e.setWidth(40); - e.setWrap(true); - e.setName("one"); - e.setKey("one"); - entityList.add(e); - e = new ExcelExportEntity(); - e.setHeight(40); - e.setWidth(40); - e.setWrap(true); - e.setName("two"); - e.setKey("two"); - entityList.add(e); - e = new ExcelExportEntity(); - e.setHeight(40); - e.setWidth(40); - e.setWrap(true); - 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); - - //这里加入了40个数据源 - List> dataList = new ArrayList>(); - for (int l = 0; l < 80; l++) { - Map map = new HashMap(); - 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()) { - savefile.mkdirs(); - } - FileOutputStream fos = new FileOutputStream("d:/foreach.xls"); - workbook.write(fos); - fos.close(); - } - - public void createSheetForMap(Workbook workbook, ExportParams entity, - List entityList, - Collection> dataSet) { - - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateForEachTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateForEachTest.java deleted file mode 100644 index 0608db8..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/template/TemplateForEachTest.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.jeecgframework.poi.test.excel.template; - -import java.io.File; -import java.io.FileOutputStream; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.poi.ss.usermodel.Workbook; -import org.jeecgframework.poi.excel.ExcelExportUtil; -import org.jeecgframework.poi.excel.entity.TemplateExportParams; -import org.jeecgframework.poi.excel.export.styler.ExcelExportStylerColorImpl; -import org.jeecgframework.poi.test.entity.temp.BudgetAccountsEntity; -import org.jeecgframework.poi.test.entity.temp.PayeeEntity; -import org.jeecgframework.poi.test.entity.temp.TemplateExcelExportEntity; -import org.junit.Test; - -import com.google.common.collect.Lists; - -public class TemplateForEachTest { - - @Test - public void test() throws Exception { - TemplateExportParams params = new TemplateExportParams( - "org/jeecgframework/poi/test/excel/doc/foreach.xlsx"); - Map map = new HashMap(); - List list = new ArrayList(); - - for (int i = 0; i < 4; i++) { - TemplateExcelExportEntity entity = new TemplateExcelExportEntity(); - entity.setIndex(i + 1 + ""); - entity.setAccountType("开源项目"); - entity.setProjectName("EasyPoi " + i + "期"); - entity.setAmountApplied(i * 10000 + ""); - entity.setApprovedAmount((i + 1) * 10000 - 100 + ""); - list.add(entity); - } - map.put("entitylist", list); - map.put("letest", "12345678"); - map.put("fntest", "12345678.2341234"); - map.put("fdtest", null); - List> mapList = new ArrayList>(); - for (int i = 0; i < 4; i++) { - Map testMap = new HashMap(); - - testMap.put("id", "xman"); - testMap.put("name", "小明" + i); - testMap.put("sex", "man"); - mapList.add(testMap); - } - map.put("maplist", mapList); - - mapList = new ArrayList>(); - for (int i = 0; i < 6; i++) { - Map testMap = new HashMap(); - - testMap.put("si", "xman"); - mapList.add(testMap); - } - map.put("sitest", mapList); - Workbook workbook = ExcelExportUtil.exportExcel(params, map); - File savefile = new File("d:/"); - if (!savefile.exists()) { - savefile.mkdirs(); - } - FileOutputStream fos = new FileOutputStream("d:/foreach.xlsx"); - workbook.write(fos); - fos.close(); - workbook = ExcelExportUtil.exportExcel(params, map); - fos = new FileOutputStream("d:/foreach2.xlsx"); - workbook.write(fos); - fos.close(); - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/CourseHanlder.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/CourseHanlder.java deleted file mode 100644 index 6861af4..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/CourseHanlder.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.jeecgframework.poi.test.excel.test; - -import org.jeecgframework.poi.handler.impl.ExcelDataHandlerDefaultImpl; - -public class CourseHanlder extends ExcelDataHandlerDefaultImpl { - - @Override - public Object exportHandler(Object obj, String name, Object value) { - if (name.equals("课程名称")) { - return String.valueOf(value) + "课程"; - } - return super.exportHandler(obj, name, value); - } - - @Override - public Object importHandler(Object obj, String name, Object value) { - return super.importHandler(obj, name, value); - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportForMap.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportForMap.java deleted file mode 100644 index d10f66d..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportForMap.java +++ /dev/null @@ -1,140 +0,0 @@ -package org.jeecgframework.poi.test.excel.test; - -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.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.ss.usermodel.Workbook; -import org.jeecgframework.poi.excel.ExcelExportUtil; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.enmus.ExcelType; -import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity; -import org.jeecgframework.poi.excel.entity.vo.PoiBaseConstants; -import org.junit.Test; - -public class ExcelExportForMap { - /** - * Map 测试 - */ - @Test - public void test() { - try { - List entity = new ArrayList(); - ExcelExportEntity excelentity = new ExcelExportEntity("姓名", "name"); - excelentity.setNeedMerge(true); - entity.add(excelentity); - entity.add(new ExcelExportEntity("性别", "sex")); - excelentity = new ExcelExportEntity(null, "students"); - List temp = new ArrayList(); - temp.add(new ExcelExportEntity("姓名", "name")); - temp.add(new ExcelExportEntity("性别", "sex")); - excelentity.setList(temp); - entity.add(excelentity); - - List> list = new ArrayList>(); - Map map; - for (int i = 0; i < 10; i++) { - map = new HashMap(); - map.put("name", "1" + i); - map.put("sex", "2" + i); - - List> tempList = new ArrayList>(); - tempList.add(map); - tempList.add(map); - map.put("students", tempList); - - list.add(map); - } - - Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("测试", "测试"), entity, - list); - FileOutputStream fos = new FileOutputStream("d:/tt.xls"); - workbook.write(fos); - fos.close(); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - /** - * 合并同类项 - */ - //@Test - public void testMerge() { - try { - List entity = new ArrayList(); - ExcelExportEntity excelentity = new ExcelExportEntity("部门", "depart"); - excelentity.setMergeVertical(true); - excelentity.setMergeRely(new int[0]); - entity.add(excelentity); - - entity.add(new ExcelExportEntity("姓名", "name")); - excelentity = new ExcelExportEntity("电话", "phone"); - entity.add(excelentity); - - List> list = new ArrayList>(); - Map map; - for (int i = 0; i < 10; i++) { - map = new HashMap(); - map.put("depart", "设计部"); - map.put("name", "小明" + i); - map.put("phone", "1311234567" + i); - list.add(map); - } - for (int i = 0; i < 10; i++) { - map = new HashMap(); - map.put("depart", "开发部"); - map.put("name", "小蓝" + i); - map.put("phone", "1871234567" + i); - list.add(map); - } - - Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("员工通讯录", "通讯录"), - entity, list); - FileOutputStream fos = new FileOutputStream("d:/tt.xls"); - workbook.write(fos); - fos.close(); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - //@Test - public void testMany() { - try { - List entity = new ArrayList(); - for (int i = 0; i < 500; i++) { - entity.add(new ExcelExportEntity("姓名" + i, "name" + i)); - } - - List> list = new ArrayList>(); - Map map; - for (int i = 0; i < 10; i++) { - map = new HashMap(); - for (int j = 0; j < 500; j++) { - map.put("name" + j, j + "_" + i); - } - list.add(map); - } - ExportParams params = new ExportParams("测试", "测试", ExcelType.XSSF); - params.setFreezeCol(5); - Workbook workbook = ExcelExportUtil.exportExcel(params, entity, list); - FileOutputStream fos = new FileOutputStream("d:/tt.xlsx"); - workbook.write(fos); - fos.close(); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - -} 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 deleted file mode 100644 index bdd2cdb..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportMsgClient.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.jeecgframework.poi.test.excel.test; - -import static org.junit.Assert.*; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import org.apache.poi.ss.usermodel.Workbook; -import org.jeecgframework.poi.excel.ExcelExportUtil; -import org.jeecgframework.poi.excel.annotation.Excel; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.enmus.ExcelType; -import org.jeecgframework.poi.excel.entity.vo.PoiBaseConstants; -import org.jeecgframework.poi.test.entity.CourseEntity; -import org.jeecgframework.poi.test.entity.MsgClient; -import org.jeecgframework.poi.test.entity.MsgClientGroup; -import org.junit.Test; -/** - * 当行大数据量测试 - * @author JueYue - * @date 2014年12月13日 下午3:42:57 - */ -public class ExcelExportMsgClient { - - @Test - public void test() throws Exception { - - Field[] fields = MsgClient.class.getFields(); - for (int i = 0; i < fields.length; i++) { - Excel excel = fields[i].getAnnotation(Excel.class); - System.out.println(excel); - } - - List list = new ArrayList(); - for (int i = 0; i < 1000000; i++) { - MsgClient client = new MsgClient(); - client.setBirthday(new Date()); - client.setClientName("小明" + i); - client.setClientPhone("18797" + i); - client.setCreateBy("JueYue"); - client.setId("1" + i); - client.setRemark("测试" + i); - MsgClientGroup group = new MsgClientGroup(); - group.setGroupName("测试" + i); - client.setGroup(group); - list.add(client); - } - Date start = new Date(); - ExportParams params = new ExportParams("2412312", "测试", ExcelType.XSSF); - params.setFreezeCol(2); - Workbook workbook = ExcelExportUtil.exportExcel(params, MsgClient.class, list); - System.out.println(new Date().getTime() - start.getTime()); - File savefile = new File("d:/"); - if (!savefile.exists()) { - savefile.mkdirs(); - } - FileOutputStream fos = new FileOutputStream("d:/tt.xlsx"); - workbook.write(fos); - fos.close(); - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportStatisticTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportStatisticTest.java deleted file mode 100644 index c96092a..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportStatisticTest.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.jeecgframework.poi.test.excel.test; - -import java.io.File; -import java.io.FileOutputStream; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import org.apache.poi.ss.usermodel.Workbook; -import org.jeecgframework.poi.excel.ExcelExportUtil; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.enmus.ExcelStyleType; -import org.jeecgframework.poi.excel.entity.enmus.ExcelType; -import org.jeecgframework.poi.excel.entity.vo.PoiBaseConstants; -import org.jeecgframework.poi.test.entity.statistics.StatisticEntity; -import org.jeecgframework.poi.test.excel.styler.ExcelExportStatisticStyler; -import org.junit.Test; - -public class ExcelExportStatisticTest { - @Test - public void test() throws Exception { - - List list = new ArrayList(); - for (int i = 0; i < 20; i++) { - StatisticEntity client = new StatisticEntity(); - client.setName("index" + i); - client.setIntTest(1 + i); - client.setLongTest(1 + i); - client.setDoubleTest(1.2D + i); - client.setBigDecimalTest(new BigDecimal(1.2 + i)); - client.setStringTest("12" + i); - list.add(client); - } - Date start = new Date(); - ExportParams params = new ExportParams("2412312", "测试", ExcelType.XSSF); - params.setStyle(ExcelExportStatisticStyler.class); - Workbook workbook = ExcelExportUtil.exportExcel(params, StatisticEntity.class, list); - System.out.println(new Date().getTime() - start.getTime()); - File savefile = new File("d:/"); - if (!savefile.exists()) { - savefile.mkdirs(); - } - FileOutputStream fos = new FileOutputStream("d:/tt.xlsx"); - workbook.write(fos); - fos.close(); - } -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportTemplateTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportTemplateTest.java deleted file mode 100644 index 4b01280..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportTemplateTest.java +++ /dev/null @@ -1,116 +0,0 @@ -package org.jeecgframework.poi.test.excel.test; - -import java.io.File; -import java.io.FileOutputStream; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.poi.ss.usermodel.Workbook; -import org.jeecgframework.poi.excel.ExcelExportUtil; -import org.jeecgframework.poi.excel.entity.TemplateExportParams; -import org.jeecgframework.poi.excel.entity.enmus.ExcelStyleType; -import org.jeecgframework.poi.test.entity.CourseEntity; -import org.jeecgframework.poi.test.entity.StudentEntity; -import org.jeecgframework.poi.test.entity.TeacherEntity; -import org.junit.Before; -import org.junit.Test; - -public class ExcelExportTemplateTest { - - List list = new ArrayList(); - CourseEntity courseEntity; - - @Test - public void one() throws Exception { - TemplateExportParams params = new TemplateExportParams( - "org/jeecgframework/poi/test/excel/doc/exportTemp.xls", true); - params.setHeadingRows(2); - params.setHeadingStartRow(2); - params.setStyle(ExcelStyleType.BORDER.getClazz()); - Map map = new HashMap(); - //sheet 1 - map.put("year", "2013"); - map.put("sunCourses", list.size()); - Map obj = new HashMap(); - map.put("obj", obj); - obj.put("name", list.size()); - // sheet 2 - map.put("month", 10); - Map temp; - for (int i = 1; i < 8; i++) { - temp = new HashMap(); - temp.put("per", i * 10); - temp.put("mon", i * 1000); - temp.put("summon", i * 10000); - map.put("i" + i, temp); - } - Workbook book = ExcelExportUtil.exportExcel(params, CourseEntity.class, list, map); - File savefile = new File("d:/"); - if (!savefile.exists()) { - savefile.mkdirs(); - } - FileOutputStream fos = new FileOutputStream("d:/exportTemp.xls"); - book.write(fos); - fos.close(); - - } - - @Before - public void testBefore() { - courseEntity = new CourseEntity(); - courseEntity.setId("1131"); - courseEntity.setName("小白"); - - TeacherEntity teacherEntity = new TeacherEntity(); - teacherEntity.setId("12131231"); - teacherEntity.setName("你们"); - courseEntity.setTeacher(teacherEntity); - - teacherEntity = new TeacherEntity(); - teacherEntity.setId("121312314312421131"); - teacherEntity.setName("老王"); - courseEntity.setShuxueteacher(teacherEntity); - - StudentEntity studentEntity = new StudentEntity(); - studentEntity.setId("11231"); - studentEntity.setName("撒旦法司法局"); - studentEntity.setBirthday(new Date()); - studentEntity.setSex(1); - List studentList = new ArrayList(); - studentList.add(studentEntity); - studentList.add(studentEntity); - courseEntity.setStudents(studentList); - - for (int i = 0; i < 3; i++) { - list.add(courseEntity); - } - } - - //@Test - public void two() throws Exception { - TemplateExportParams params = new TemplateExportParams( - "org/jeecgframework/poi/test/excel/doc/exportTemp.xls", 1); - Map map = new HashMap(); - map.put("month", 10); - Map temp; - for (int i = 1; i < 8; i++) { - temp = new HashMap(); - temp.put("per", i * 10); - temp.put("mon", i * 1000); - temp.put("summon", i * 10000); - map.put("i" + i, temp); - } - Workbook book = ExcelExportUtil.exportExcel(params, map); - File savefile = new File("d:/"); - if (!savefile.exists()) { - savefile.mkdirs(); - } - FileOutputStream fos = new FileOutputStream("d:/exportTemp2.xls"); - book.write(fos); - fos.close(); - - } -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilDataHandlerTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilDataHandlerTest.java deleted file mode 100644 index a3c93d7..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilDataHandlerTest.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.jeecgframework.poi.test.excel.test; - -import java.io.FileOutputStream; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.ss.usermodel.Workbook; -import org.jeecgframework.poi.excel.ExcelExportUtil; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.test.entity.CourseEntity; -import org.jeecgframework.poi.test.entity.StudentEntity; -import org.jeecgframework.poi.test.entity.TeacherEntity; -import org.junit.Before; -import org.junit.Test; - -/** - * 数据处理测试 Created by jue on 14-4-19. - */ -public class ExcelExportUtilDataHandlerTest { - - List list = new ArrayList(); - CourseEntity courseEntity; - - @Before - public void testBefore() { - courseEntity = new CourseEntity(); - courseEntity.setId("1131"); - courseEntity.setName("小白"); - - TeacherEntity teacherEntity = new TeacherEntity(); - teacherEntity.setId("12131231"); - teacherEntity.setName("你们"); - courseEntity.setTeacher(teacherEntity); - - teacherEntity = new TeacherEntity(); - teacherEntity.setId("121312314312421131"); - teacherEntity.setName("老王"); - courseEntity.setShuxueteacher(teacherEntity); - - StudentEntity studentEntity = new StudentEntity(); - studentEntity.setId("11231"); - studentEntity.setName("撒旦法司法局"); - studentEntity.setBirthday(new Date()); - studentEntity.setSex(1); - List studentList = new ArrayList(); - studentList.add(studentEntity); - studentList.add(studentEntity); - courseEntity.setStudents(studentList); - - for (int i = 0; i < 3; i++) { - list.add(courseEntity); - } - } - - /** - * 基本导出测试 - * - * @throws Exception - */ - @Test - public void testExportExcel() throws Exception { - ExportParams exportParams = new ExportParams("2412312", "测试", "测试"); - CourseHanlder hanlder = new CourseHanlder(); - hanlder.setNeedHandlerFields(new String[] { "课程名称" }); - exportParams.setDataHanlder(hanlder); - Workbook workbook = ExcelExportUtil.exportExcel(exportParams, CourseEntity.class, list); - FileOutputStream fos = new FileOutputStream("d:/tt.xls"); - workbook.write(fos); - fos.close(); - } -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilIdTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilIdTest.java deleted file mode 100644 index 717decd..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilIdTest.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.jeecgframework.poi.test.excel.test; - -import java.io.FileOutputStream; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.ss.usermodel.Workbook; -import org.jeecgframework.poi.excel.ExcelExportUtil; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.test.entity.CourseEntity; -import org.jeecgframework.poi.test.entity.StudentEntity; -import org.jeecgframework.poi.test.entity.TeacherEntity; -import org.junit.Before; -import org.junit.Test; - -/** - * 关系导出测试 Created by JueYue on 14-4-19. - */ -public class ExcelExportUtilIdTest { - - List list = new ArrayList(); - List telist = new ArrayList(); - CourseEntity courseEntity; - - @Before - public void testBefor2() { - TeacherEntity teacherEntity = new TeacherEntity(); - teacherEntity.setId("12132131231231231"); - teacherEntity.setName("你们"); - - for (int i = 0; i < 3; i++) { - telist.add(teacherEntity); - } - } - - @Before - public void testBefore() { - courseEntity = new CourseEntity(); - courseEntity.setId("1131"); - courseEntity.setName("小白"); - - TeacherEntity teacherEntity = new TeacherEntity(); - teacherEntity.setId("12131231"); - teacherEntity.setName("你们"); - courseEntity.setTeacher(teacherEntity); - - StudentEntity studentEntity = new StudentEntity(); - studentEntity.setId("11231"); - studentEntity.setName("撒旦法司法局"); - studentEntity.setBirthday(new Date()); - studentEntity.setRegistrationDate(new java.sql.Time(new Date().getTime())); - studentEntity.setSex(1); - List studentList = new ArrayList(); - studentList.add(studentEntity); - studentList.add(studentEntity); - courseEntity.setStudents(studentList); - - for (int i = 0; i < 3; i++) { - list.add(courseEntity); - } - } - - /** - * 单行表头导出测试 - * - * @throws Exception - */ - @Test - public void testExportExcel() throws Exception { - ExportParams params = new ExportParams("2412312", "测试", "测试"); - Workbook workbook = ExcelExportUtil.exportExcel(params, CourseEntity.class, list); - FileOutputStream fos = new FileOutputStream("d:/tt.xls"); - workbook.write(fos); - fos.close(); - } - -} 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 deleted file mode 100644 index d351db7..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/excel/test/ExcelExportUtilTest.java +++ /dev/null @@ -1,151 +0,0 @@ -package org.jeecgframework.poi.test.excel.test; - -import java.io.File; -import java.io.FileOutputStream; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; - -import org.apache.poi.ss.usermodel.Workbook; -import org.jeecgframework.poi.excel.ExcelExportUtil; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.TemplateExportParams; -import org.jeecgframework.poi.excel.entity.enmus.ExcelType; -import org.jeecgframework.poi.test.entity.CourseEntity; -import org.jeecgframework.poi.test.entity.StudentEntity; -import org.jeecgframework.poi.test.entity.TeacherEntity; -import org.junit.Before; -import org.junit.Test; - -/** - * Created by jue on 14-4-19. - */ -public class ExcelExportUtilTest { - - List list = new ArrayList(); - CourseEntity courseEntity; - - /** - * 25W行导出测试 - * - * @throws Exception - */ - @Test - public void oneHundredThousandRowTest() throws Exception { - - ExportParams params = new ExportParams("2412312", "测试", ExcelType.XSSF); - Date start = new Date(); - Workbook workbook = ExcelExportUtil.exportExcel(params, CourseEntity.class, list); - System.out.println(new Date().getTime() - start.getTime()); - File savefile = new File("d:/"); - if (!savefile.exists()) { - savefile.mkdirs(); - } - FileOutputStream fos = new FileOutputStream("d:/tt.xlsx"); - workbook.write(fos); - fos.close(); -// savefile = new File("d:/1"); -// if (!savefile.exists()) { -// savefile.setWritable(true, false); -// savefile.mkdirs(); -// } -// fos = new FileOutputStream("d:/1/tt3.xlsx"); -// workbook.write(fos); -// fos.close(); - } - - @Before - public void testBefore() { - - for (int i = 0; i < 20000; i++) { - courseEntity = new CourseEntity(); - courseEntity.setId("1131"); - courseEntity.setName("海贼王必修(" + (i + 1) + ")"); - - TeacherEntity teacherEntity = new TeacherEntity(); - teacherEntity.setId("12131231"); - teacherEntity.setName("路飞"); - courseEntity.setTeacher(teacherEntity); - - teacherEntity = new TeacherEntity(); - teacherEntity.setId("121312314312421131"); - teacherEntity.setName("老王"); - courseEntity.setShuxueteacher(teacherEntity); - - StudentEntity studentEntity = new StudentEntity(); - studentEntity.setId("11231"); - studentEntity.setName("撒旦法司法局"); - studentEntity.setBirthday(new Date()); - studentEntity.setSex(1); - List studentList = new ArrayList(); - studentList.add(studentEntity); - studentList.add(studentEntity); - courseEntity.setStudents(studentList); - list.add(courseEntity); - } - } - - /** - * 基本导出测试 - * - * @throws Exception - */ - //@Test - public void testExportExcel() throws Exception { - Date start = new Date(); - Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("2412312", "测试", "测试"), - CourseEntity.class, list); - System.out.println(new Date().getTime() - start.getTime()); - File savefile = new File("d:/"); - if (!savefile.exists()) { - savefile.mkdirs(); - } - FileOutputStream fos = new FileOutputStream("d:/tt.xls"); - workbook.write(fos); - fos.close(); - } - - /** - * 单行表头测试 - * - * @throws Exception - */ - //@Test - public void testExportTitleExcel() throws Exception { - Date start = new Date(); - Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("2412312", "测试"), - CourseEntity.class, list); - System.out.println(new Date().getTime() - start.getTime()); - File savefile = new File("d:/"); - if (!savefile.exists()) { - savefile.mkdirs(); - } - FileOutputStream fos = new FileOutputStream("d:/tt.xls"); - workbook.write(fos); - fos.close(); - } - - /** - * 模板导出测试 - * - * @throws Exception - */ - //@Test - public void testTempExportExcel() throws Exception { - TemplateExportParams params = new TemplateExportParams(); - params.setHeadingRows(2); - params.setHeadingStartRow(2); - params.setTemplateUrl("tt.xls"); - Workbook book = ExcelExportUtil.exportExcel(params, CourseEntity.class, list, - new HashMap()); - File savefile = new File("d:/"); - if (!savefile.exists()) { - savefile.mkdirs(); - } - FileOutputStream fos = new FileOutputStream("d:/t_tt.xls"); - book.write(fos); - fos.close(); - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/read/ExcelImportUtilTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/read/ExcelImportUtilTest.java deleted file mode 100644 index b5d67a1..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/read/ExcelImportUtilTest.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.jeecgframework.poi.test.read; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.util.Date; -import java.util.List; -import java.util.Map; - -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.builder.ReflectionToStringBuilder; -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.test.entity.CourseEntity; -import org.jeecgframework.poi.test.entity.MsgClient; -import org.jeecgframework.poi.test.entity.TestEntity; -import org.jeecgframework.poi.test.entity.statistics.StatisticEntity; -import org.junit.Test; - -public class ExcelImportUtilTest { - - ///ExcelExportMsgClient 测试是这个到处的数据 - - //@Test - public void test() { - try { - ImportParams params = new ImportParams(); - params.setTitleRows(1); - long start = new Date().getTime(); - List list = ExcelImportUtil.importExcelBySax(new FileInputStream( - new File("d:/tt.xlsx")), StatisticEntity.class, params); - // List list = ExcelImportUtil.importExcelBySax(new File("d:/tt.xlsx"), - // StatisticEntity.class, params); - /*for (int i = 0; i < list.size(); i++) { - System.out.println(ReflectionToStringBuilder.toString(list.get(i))); - }*/ - System.out.println(list.size() + "-----" + (new Date().getTime() - start)); - } catch (FileNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - @Test - public void test2() { - ImportParams params = new ImportParams(); - params.setTitleRows(1); - params.setHeadRows(1); - long start = new Date().getTime(); - List list = ExcelImportUtil.importExcel(new File("d:/tt.xlsx"), MsgClient.class, - params); - System.out.println(new Date().getTime() - start); - System.out.println(list.size()); - System.out.println(ReflectionToStringBuilder.toString(list.get(0))); - } - - @Test - public void testMapImport() { - ImportParams params = new ImportParams(); - params.setTitleRows(1); - params.setHeadRows(1); - long start = new Date().getTime(); - List> list = ExcelImportUtil.importExcel(new File("d:/tt.xlsx"), - Map.class, params); - System.out.println(new Date().getTime() - start); - System.out.println(list.size()); - System.out.println(list.get(0)); - } -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/WordExportUtilAnnExcelTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/WordExportUtilAnnExcelTest.java deleted file mode 100644 index ef04835..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/WordExportUtilAnnExcelTest.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.jeecgframework.poi.test.word; - -import java.io.FileOutputStream; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.poi.xwpf.usermodel.XWPFDocument; -import org.jeecgframework.poi.test.entity.CourseEntity; -import org.jeecgframework.poi.test.entity.StudentEntity; -import org.jeecgframework.poi.test.entity.TeacherEntity; -import org.jeecgframework.poi.test.word.entity.Person; -import org.jeecgframework.poi.word.WordExportUtil; -import org.jeecgframework.poi.word.entity.params.ExcelListEntity; -import org.junit.Before; -import org.junit.Test; - -/** - * 注解导出测试 - * - * @author JueYue - * @date 2014年8月9日 下午11:36:33 - */ -public class WordExportUtilAnnExcelTest { - - private static SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd"); - - List list = new ArrayList(); - CourseEntity courseEntity; - - /** - * 简单导出没有图片和Excel - */ - @Test - public void SimpleWordExport() { - Map map = new HashMap(); - map.put("department", "Jeecg"); - map.put("person", "JueYue"); - map.put("auditPerson", "JueYue"); - map.put("time", format.format(new Date())); - List list = new ArrayList(); - Person p = new Person(); - p.setName("小明"); - p.setTel("18711111111"); - p.setEmail("18711111111@139.com"); - list.add(p); - p = new Person(); - p.setName("小红"); - p.setTel("18711111112"); - p.setEmail("18711111112@139.com"); - list.add(p); - map.put("pList", new ExcelListEntity(list, Person.class)); - try { - XWPFDocument doc = WordExportUtil.exportWord07( - "org/jeecgframework/poi/test/word/doc/SimpleExcel.docx", map); - FileOutputStream fos = new FileOutputStream("d:/simpleExcel.docx"); - doc.write(fos); - fos.close(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @Before - public void testBefore() { - courseEntity = new CourseEntity(); - courseEntity.setId("1131"); - courseEntity.setName("小白"); - - TeacherEntity teacherEntity = new TeacherEntity(); - teacherEntity.setId("12131231"); - teacherEntity.setName("你们"); - courseEntity.setTeacher(teacherEntity); - - teacherEntity = new TeacherEntity(); - teacherEntity.setId("121312314312421131"); - teacherEntity.setName("老王"); - courseEntity.setShuxueteacher(teacherEntity); - - StudentEntity studentEntity = new StudentEntity(); - studentEntity.setId("11231"); - studentEntity.setName("撒旦法司法局"); - studentEntity.setBirthday(new Date()); - studentEntity.setSex(1); - List studentList = new ArrayList(); - studentList.add(studentEntity); - studentList.add(studentEntity); - courseEntity.setStudents(studentList); - - for (int i = 0; i < 3; i++) { - list.add(courseEntity); - } - } - - @Test - public void WordExport() { - Map map = new HashMap(); - map.put("department", "Jeecg"); - map.put("person", "JueYue"); - map.put("auditPerson", "JueYue"); - map.put("time", format.format(new Date())); - map.put("cs", new ExcelListEntity(list, CourseEntity.class)); - try { - XWPFDocument doc = WordExportUtil.exportWord07( - "org/jeecgframework/poi/test/word/doc/Excel.docx", map); - FileOutputStream fos = new FileOutputStream("d:/Excel.docx"); - doc.write(fos); - fos.close(); - } catch (Exception e) { - e.printStackTrace(); - } - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/WordExportUtilBaseExcelTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/WordExportUtilBaseExcelTest.java deleted file mode 100644 index 12cc618..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/WordExportUtilBaseExcelTest.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.jeecgframework.poi.test.word; - -import java.io.FileOutputStream; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.poi.xwpf.usermodel.XWPFDocument; -import org.jeecgframework.poi.test.word.entity.Person; -import org.jeecgframework.poi.word.WordExportUtil; -import org.jeecgframework.poi.word.entity.WordImageEntity; -import org.junit.Test; - -public class WordExportUtilBaseExcelTest { - - private static SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd"); - - /** - * 简单导出包含图片 - */ - @Test - public void imageWordExport() { - Map map = new HashMap(); - map.put("department", "Jeecg"); - map.put("person", "JueYue"); - map.put("time", format.format(new Date())); - WordImageEntity image = new WordImageEntity(); - image.setHeight(200); - image.setWidth(500); - image.setUrl("org/jeecgframework/poi/test/word/img/testCode.png"); - image.setType(WordImageEntity.URL); - map.put("testCode", image); - try { - XWPFDocument doc = WordExportUtil.exportWord07( - "org/jeecgframework/poi/test/word/doc/Image.docx", map); - FileOutputStream fos = new FileOutputStream("d:/image.docx"); - doc.write(fos); - fos.close(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * 简单导出没有图片和Excel - */ - @Test - public void SimpleWordExport() { - Map map = new HashMap(); - map.put("department", "Jeecg"); - map.put("person", "JueYue"); - map.put("auditPerson", "JueYue"); - map.put("time", format.format(new Date())); - List list = new ArrayList(); - Person p = new Person(); - p.setName("小明"); - p.setTel("18711111111"); - p.setEmail("18711111111@139.com"); - list.add(p); - p = new Person(); - p.setName("小红"); - p.setTel("18711111112"); - p.setEmail("18711111112@139.com"); - list.add(p); - map.put("pList", list); - try { - XWPFDocument doc = WordExportUtil.exportWord07( - "org/jeecgframework/poi/test/word/doc/SimpleExcel.docx", map); - FileOutputStream fos = new FileOutputStream("d:/simpleExcel.docx"); - doc.write(fos); - fos.close(); - } catch (Exception e) { - e.printStackTrace(); - } - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/WordExportUtilTest.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/WordExportUtilTest.java deleted file mode 100644 index 97354e8..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/WordExportUtilTest.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.jeecgframework.poi.test.word; - -import java.io.FileOutputStream; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -import org.apache.poi.xwpf.usermodel.XWPFDocument; -import org.jeecgframework.poi.word.WordExportUtil; -import org.jeecgframework.poi.word.entity.WordImageEntity; -import org.junit.Test; - -public class WordExportUtilTest { - - private static SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd"); - - /** - * 简单导出包含图片 - */ - //@Test - public void imageWordExport() { - Map map = new HashMap(); - map.put("department", "Jeecg"); - map.put("person", "JueYue"); - map.put("time", format.format(new Date())); - WordImageEntity image = new WordImageEntity(); - image.setHeight(200); - image.setWidth(500); - image.setUrl("org/jeecgframework/poi/word/img/testCode.png"); - image.setType(WordImageEntity.URL); - map.put("testCode", image); - try { - XWPFDocument doc = WordExportUtil.exportWord07( - "org/jeecgframework/poi/test/word/doc/Image.docx", map); - FileOutputStream fos = new FileOutputStream("d:/image.docx"); - doc.write(fos); - fos.close(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * 简单导出没有图片和Excel - */ - @Test - public void SimpleWordExport() { - Map map = new HashMap(); - map.put("department", "Jeecg"); - map.put("person", "JueYue"); - map.put("time", format.format(new Date())); - map.put("me","JueYue"); - map.put("date", "2015-01-03"); - try { - XWPFDocument doc = WordExportUtil.exportWord07( - "org/jeecgframework/poi/test/word/doc/Simple.docx", map); - FileOutputStream fos = new FileOutputStream("d:/simple.docx"); - doc.write(fos); - fos.close(); - } catch (Exception e) { - e.printStackTrace(); - } - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/doc/Excel.docx b/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/doc/Excel.docx deleted file mode 100644 index 869bbf6e13b5349f18db3bc710b3da3e74390951..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14845 zcmeHuby!?U)9>K!?!nzH1a}SY?(Xgm!GZ^O*WePIV8Puz1c$*PLGP@+yPMs6?{n|J z-+SiiIdi7Eeto)6)v2!PYDHNHNK61U02TlMkOBmhr4F3H0DvMW000933$7#TVDD;X z?`ojxFsEoF)$d4yym(^n(_Owsn@6y^ynl#2?N9#NUo6c9?X{QV!x@1W%Pm1o539tJStq<=0jGKBY_^a0 zkk)k#)IwKU(zUc8HPMN%!H{#kUqY=KmZi~rm4gU_$_B3@skHBA_7QL z4V=wvU6`4E`Tnnl{ts5mzjVDSu@|JFh(c!}Pa)HtN-Mp%h4RcMQ>(bkFt9q(au};i z){DUJOLlVI*M667aYGL zX71gZKaG$}(~g8hYhguA;zK8Vk4PKu!Pun}yWK5Cup*4pFR2m!EQ9uCf?%)cp#se_4|9muHtV$J?g7%-4Y1J(YYeN-jAmF;Ii4L=KhAst&U z(Q`vvc4a0zQKR=9FPTNLO-xKzdpJX)Z(kiK_B?RfV3~Y?Oq{=8b^nS1(X>JPB@q+y z&Cck;Jp4w~ekKfR|H_B9D`YH0soIH}8g=F+t615&M*c`Cr=mO~AW1RBY~FnGcVa!h za^KpF9bD^Wo2z`A2|Ndgjpf4*xATg`@Sp#cC~ zQUCxARO44!`l}S3XzRqyN?`ie%)OxgAo?oHBrk@&+Z-rXj3v7|WNpkF+1@-Au~ryL8jNWDkYC_zRCds_W#jcd|4K|sDsgUNol2ZmwgW&LdykIP=>RW?r! z`?AT<tZ%Is&)3Vg4!OB{q4S}DZF*;Fd zQy0ZL{A}k(MUNItSI_wJ&O)Be>(&N1eu7tP*V5Uzub7Mi#au8+-!$f-_>HmwarxLUbQ5pJvS z*KHq@)8j%iVA{U3a->0aO+YVWiwdk3P*53$rol>51fk}#3mHSq;>r8IS`^EoH@mYC zBIev`-Xq@+h2aHGW$@%SsZ3~FMxUJcEq$esOx>G=F>gZB?SQbW_N>?yLg8SDfmKQQ ztgnzzi=E;)XeHzq!ndy462YG0UqTUK%u_g5nTQ%;ErH?6Am%-%E3cj!lJg-V0$=Om zzy!-q6M8`l23tN*Bm-7(5j-fIyJ#ED>J6dDOJ4D_!y@#mj##WE^KrC@ig=yA%AqYW zNgE>3H$XedX|$cDp5D z+3)#rKAOJsSf@QeKj7x;5yPc8W$K59=yXr>B1Zpg4ekeSd!WFJ*V#Mfdk_0t2fuEQ z2m7;&xTjT(2OSOl&hI5HS3V9t7H91SFslJ9P;0!N_qBKPshvZ-o|uc9zAT>J9_QDk z0bI=8oafAElyEAvHBwM!%4vf>8>(r(0VKn9B-5S z3T@Zw>BNY#R0-=D!OVK}#aSSCSRFlF#Z}*LA^hW>^N2HJ(K~S_9IETgZR4JAF{!3* zZj$>pI-#=6`h1V=#@%2M4Hu*_U2PdjS9Se@Hf%VH`cpq@212y4)U@;r`N~`dAS};s zA6UP`;p9E3xkQ)py zT4RjXc}`}I;Jw4gwAOs=)my1G-lbMd(_(nR9Bsoz4jL?jB7*D#&Z2&VD(sg_uTToK zFicIZYqbK~z;{>ApRXI{H<%)UEsKIsP!BA8SFNBKz0e9|Qp3DNkf+=tIb zBDH2Eew@_7(uTpdz>W8#?UP+Z{MvP}B?4QqL>98+^dGEAC)A7S%*5P%*gr5vh7TPt z7hG^oEO;-o>5yvFA!J5|4j2u}bJh{N8}*B!*|(J-x2yRcUFM1J=Sr)43P5z3XHe#! zr1y}qH;%@V*xC3`<@J%{g_YvJ_B>GWZ2plK!i|oFAI^3bfb7fCnG3gU!pX#jpJdj2+)Gtiwjhh_f5zd{4to+F+ zuGZpX6yDUWL^_aP8cN=47LDA<<#Vwn4ESh%B9-P*%fL&XwU@+ig?-f>r~+MEkC(F^ z^xp4s8BP;y1z*Q1Pp7mAan@AA%IqrvzINpFP`eFKi~mWC-|gCXT0R6B#jbQ;Wfqf91cd;KB|29}<@!W9CyI1f5`aA?KAf9uhPUO% zHjKqZc$AbJ>J+sz1b2s2xoe?nq5y-5S4JsCP^SP6t2zso5iRO>)bE2;s*I@`vaBVM z@6ZV$R_UJvZs5G{ub3yhKfSD0x1aCZ#hNwZJ<2A}AqZeRXoJ_mB5~oWUW>+>M#H%V zYV|=lfeD@@W{!v=%0dw!)z}K?TV2^&iS*BbuYl_f`8u~{y~0&R%7*p9_$*V}>~HS# zc@vP9G1Rnrs@~4FZ2?%i>z$EHC2L;Ls^l2rL&&pzJ=w1IG1Z2vt0%w=xqHKw>-ZRZ zBe34c4!K)hzuHcXu>;Jk@4n-CyjtC6{xg9hmu_~S$3#`lf^7$wcnnntPh;#p1sjG` zZUch+cl@5kK{yui5Ae$$rm3x!J`Q|`#vuZvZ5fMW6iLt?nvgg$65c@$XahE0wbmvv z{&2RJ9u=9v;ZQ?5+rbnyk|Sl#^?kVlrcl-dk?am*oNrKVW!7*EDlF?Da$o8;*Ho3alYTQeSKi5|_ z$KA*Ul7yrYDbsViyj=lrRfAlDNqV-MG7ZPoa9R#=`dfUi1k2cfR;!{RyF_rMLRr); zc~)>*R08TqmK%-I2&FFLSbb8Vfu{T z`p@bUgbJFJ5KOey#;TdAT&&Bq<9yBzBI~cJx|PbR)Y+%wY0?se9{5dIkVhlmNlCnZ zG+8V|^t&nvqEm~%dCG-UN^5(i2HoArn7lktK>?55R=f6-4<@4-YhAe7)|Mv(k)>q z!qvbh*?5!XiHswUos3LY8s75ecD!McCC|E}&?_)OU~k1!aAj!-_D))k0XkSk(f+_- zD^44HVOMe8`wZqmIVDOG3kFV}U5FHifaP=`VkPzz8yFIj0Od_egHVlbd>?IFP0y2d zTOIR`mgaR`89zRmaQkiV1h@RIO6pt&yNzp47OdoHX8NkBYlNEMo1OCW@S2q>lkv#Pg;f9f z634f~_aq$lbiQ2to9;h|#YpNdBGHA(az>DerBaQ#j)EqZjj7%?j8HtP43$~IQaM{> z=`qA&xZZwi<=8pVi1zWZ*e4%d9N=?qZR0Q~DE=%yIJW0M{I!$dl@9?>QnaL~E^aMU z*2?CQ0P=j80)J+_`(OR!D#w?tM^Lo)8symg$G34Yb9J?{w{ZEzcrJ zAS7O$s^-MCjyKD&@1l32DSkt+T#MiHUKNY;T*Yo5OO5-%T>VQ$et6BNt-aUODZ2_V zoR_w38aK|0td*YmMJWWcQ4G80eF$8Sc$9NCz*BK$trL3nOyJ-rV{qH}ri}}UxRr|B zdFU;BRp*C7$u)K3Z@fzj^f^B96~6JF@4c#p3Qc<(!vSi>9Px{#(d%cJ{A*9pK;oRG za&V{BBl$SSyXS21OSvHI8ZT)Sz00P8ipivHJhi%xr3K~brogJueYu{3Ltd#-AKJ=c zqh%H~A=_7_j5co^f;iVuB6CI*W~y#whW+$%*x?&-wsmFLd$trlY2jJp(kvoj6woJ# zu)yyTrs#;%O92yRhLdeY?>_6!-i&;KPP3=&SfLCNE-rvkycE8;^e91OF4N>}1k8M~ z_Id6ZaU(yt(53Tdwh$mfvsqfHB(2 zsSs+uz08h{s1;{1>T-gFKYwQeh;J!gNwk?(GbXg{ipu!1X5%t!<391--Gb@pn2XVy zKVx^9l7FPr%k;9sLGQdLL%k|sTa>pgk|>?}s>g2a2#^b`ZS_ z=2qiM)p!2rqf7FR;E=(MK0$}xI7CA?pDT;9#$%H{XNlhEshOAD(YCbRU~Ub_9bTUEkD<@eo3bwv7 z;T~uhndC>$JA;cj-M7R9N2#ZlOn5D&qN@X*Aleib??ii)ooYksx;7?Bj&m;nr?mRH zClZ4L<@1*YaE=utaEYyE%AC}~FQ46Q5tYoIqx%x;8Q9hw?d_#n$n>A2&3j<5x(>1@K??uS*&L{2WhbbJ+oE26JV>G;VYPPFah=$vwn#7j zuQt&10H2tu+heq>ac?0F)d<4D1+;@;MYkk}5w3MDU8N@eL!#H1GGSUzJ0Tz4T?~&P zP5^J?h%xQ%FU(Bq)}I^H8NHAiEI4Ow{5$cBtu?iYg=-akyVSCC<$*j5NHK!zxSrAq zNrIIYo9d@qePvt;d)Kz!-IWxIt|T)yXWUu*>6Y^C4Uq}s z82!k@;$hTta?j7CIx((exfo707{0t-#t6@rRj^MzL0%A4cV^E%2v5c8v}x(>Vn$jk zSVhb^Z`K@Lc7W-ne64 zr9Y0C$+{>|6dro(X=|g`(jjY2aRjYYme!S52DuGiQd-VrRMXmOvum$}-t~Yc^5sFP zy)#T)kF}xHGOyfP5tj%_Kpxuv;mH~zYGAOJ33IxK2(Nj4U(%<4KnCvO1f#M*jEg0@ z$f0_99G5{OnI&aZibs>yB*(QLXiGh3;MTeDqZ@2JsT?^Z$QKu1@ri$%m+O6@M=QAp z9PX}om^%(Od}-~YDc$>u7B3OjEvUZDit;G9Hk+H-fOSyl{GY+lVs}^7El}swKvIAU zpaJ|T1;0FhMP~;`mtTe8RRINnChyfB!|=a7XT=NKgtDN9orOKar2BALA1mYR1P_LF zreJ%I50-%?B~UQw$h`QF^V`MoBc1V^cMYiyWu_-pI_npj#h)rmC4X45;brp-;7!1h z@n$AtO8^Z%dpPlpOMy2t#Jz8l9`oOZ$NM*Q{385LWBtPMsL5$D3D(vE4 z?DdT)I{5jw7|d^-?W)_k-FGKPca7moQl}hZSn5p+mc8BVEckaF>X&{?-h~JN2zdbj zD4;RSb&8>tt&!d);}p4Q=R*ch+O;prX^!R_j@cZHUK&-s!Y_=eyX%FsGOZ zwsE5352GQkpe_++Ucc6fYsM%PW$;eO0VuS|MvZ2vQCj)+@cw->2@aBjl5G!=*EvS6jpalgB}jg`Qn zIu_lIhC(>>Ax?pNi(uBBIjxE6mBGABS7R0DXBo#At&WFcl@lEzZ#*swE4!F>0S2IC z81tOK8K8G!QH#TrNsGIi3y|&rBm4?@un|J<>gXA6>KbPe5Rlq5V ziPrTWv#&ogxsiV2*|$o7iF1%9W^KRmDbPNi%H`ZR9*e{T>NNU zX_kgFxW|rNH~rD}I>)?x=}G8o(sb8G@{6Ve?xIdfy@9vRO?6t4#|>8o&^JB(i5Krl z6DU`+Tk^^B$W*L8d%2urtr}V5g%jGS>A9%;#ey!IqSCVepUH(_F*srS-JD66sr}#&$T{v(F`8Yh5jc3CZdyZIA{*;wmA~vQ!1<< z&%YH(vNOXRf)%psaH64bj*7vVK0t{vViQukbUVuxy;*=pUrI}m|7D?87 z1v_S`WS)ZNba5ENWGOKlfA4A=FqKx!AvJ0W?B&+@HbD?wlCZyB8L6N6c_m+3i@_|O z1w}qPo@J-6eK4}+(Q)8%+k}#|R|{`w4&!(wE}C}Xd_~A8JQW(Ay@O3LZ96O|KfQ*u z!ZJsqqQDEkHfqmmtuf#pzvY)7bQz^im6m-&rzu!l}NReAiq4V@rB6 z{osb*T~)H#k?f@;fNb^J(3e%tybFBhw!9X6-thK*V^%haHEx~G3FWV?Q&Re18ilX0 zbZv4<&$X}kpq4VY`T7N-%<6UX^uCu{nD2I2B58{sVKuU&r+N$X@~ud*uJv(&IZo8C z>EJe+@Oz#&=}yS-_?dRSWq#*j+lNoAKG~4C2vn0o>5TF6JflW3;H$Qz8mWKiEpj0q zdQ6abj%Xm;Sy>#5-_%IFhW~*wY%T3vVqFYf@SR&tmG{h$)jGOoN_nWYzP)o#QhF*(2=*qMkgA`FMneUlO{VIMr1~FMDX$d^+ zZpY9>noRI#>#WMX9+`RVd(bl%F_@l(yB z)g--p3q$a-vtRROKjEoeQx(E(`0_3E>fmEp*HzK@3Hf`?^f{t1ZWY3}_XPBD_P8Xr z+#6LC_$lxB8I3X}R~fl0zlHBQDabDE9p|Lb$rGgLU7Y8b-c`psuI&mQ<4=C|9n#Zp z?d+0|PyfurhE#HrPJowCirn5nj$hFFG@ z*ZRmyXa_=Ju&#N?nzT!3WkOJU@2QuKn04Z3^fQ@ zH9`o6PAm@si)_@eSeB(##aYd9SGtes5)2kceF=^{`TJ;*|Sc zA!FKSVvP8j(>%;<`UsJoG-A0Bw_!cZ%==K09W?~F5K$n~vvPGvZV5{ZZ_Z@F@<)k~ zKG$VW?WQPJz9H)CIiSzTp3>mw&98}Z2bWQxhi0xK3R7Q-bxy($$5Xey6KcY!RTd3S zngi@Gafgi(+6 z7oGtkb!({}86-H(a?-yu34e%5`2`NdWG&^Gh;O(C!m=nQt&p{L!!9P}lricfY=LD* zbi$}NijbWM&lhbn)#O!|h3>7>4%VK}*r}jY;Q)2O+g-!}?-VjQM;%dLlNY|amS~rX z^P{$P(h9%gDP+}LtMxD)==vxbUxU$2=6z+#iSkZGF;}_MymICoaCliB)b{U`H^qZ$ zvhKf8TCL09TI)8=QQh>wEk}X+`Y+tS*D?L@2k~D4K#kY`((bRsY-OE_;`O0Hgft4B zPDMH2PoCOJKM?JA!qcS$LmJy)%ep-AvST8=-zA=iDRy#Kc)KMY*|=3JK6TG9_j{Y7 z1tfE$TJU{*TOoXpy+E+np{cH?YTm9Et#jWB{NUe^v|KrkkglrYk~n*iL@3yldQe^N z8*AW_f@K2E8nreapnw|UyY8i zwz$c;nh@J;4+y4~yUq?BVY#)1OyAK_^*__T--#0o$gDXrcz-A&k-Wsap~ADf{QSxP zYvH_riYx@ZVaqb!Q{5`wHSep6&8nqv{JpsQI%f#UPo+uWW=!GY%=vGZqNKQ(Ybg2!aR zWs8ExNiHcxZSRt;bgbOj7gbNb4u%YuzKzJRJEyEma9`meW+6M_Evt6W$hw6n3Xdmc z4xV_@wK z5hh`_vdJP)xdr^Ys2k7M8r4~R`2v3wX(4l@S)8v|-mATVKK6`C?fvpzB!U8V>NIfD zEEmJsB=X$749+B^xi_{U&(TKi#M=f#pA>-Hy&M^#qC*pTdXwi?RDz%(|EIKan&D~| zfhfxn*bq0U``~Gvo&2Sw;%}iS+iVjl zi8%eqMzZuW?iPL(X0n`Lwb@gWp{bS8)X%*#MP0$K@Nlpv&iTv6gCyPQN28?4tKnoZ zD+Rjhx{KPvpNN4UQ-6s${Im0OdBfqfAT>pY0TobLHdSP710a zzg!A_t4T*;@92D>6R$NIbgp*Be9r=(R^UB6PbZn18&!!2wSd+{Awr*0$k=dTe}6k} z$4=Yi%oX@FB2O_sz4FN#Jv`-OI)!@?eaS0LYx2mDZgVUdwZ{{YK0fMoSahK9SN&4iOpqn5gaiaFyPgZMr*oCa?u4L?g_ z7QUU^p@gDbZbD1&DcY@r@(I#MX7&gV=tOyekI7u7pbZhG=z(|{x7Q)&1reb=S+HF! zYcO;Ljb>>5Tw>o~hgy3U&uz~zsZTM&PDR?N2J07!bRu{^Q6xs6=B^~#f^nZE;3Zrfl3lXsSf4i(x_oIc0A>)JIhxC7VpeeNVjX^8V?t)b^kgS)) zw9sNrenD5_@P|?wT`=JznZ`&RgGQ->6R?t=i!6x*lLCLAbiXIfWR1V$$84AJ{n>1G zOxP>67^2W`cCBNBBYX0P*q+$u>v#+bZE&KtJy2$qMLvC3Z-7?Y=a zWgu8lp|{$%co{ymEMsG7wJ}Dhc0}X}2xUw(_sUU?6@9!pB(kZNV!la{W+P#LOj_n0 zJVMe0FJ6cVZz_M~r5)aAJwAHn>u5(u%fzTx1X;ZtoVI-ZXgkBr&ybUc`9%AHP8$EZ zS}Qe?z-FKZEE|zlbY>_PS8qB|1DmMZ{;~(dT;nrYzhbky?xKeIN+P?^POeJk!(pA`S#_yZK#7iPEMA&_a9J;oQv1Mo*|$lvV^PJg8&3 zdv;#}FTjL0*J{w~bj02ZQI}(~tBeOa!{G`T%KP@sA=Ey#xw9(2e0MAjd%~Ez#`w3P zbB<^EkO&&KMUY;i{?&XMIXeE=dV*x>_ajTWSALBJwUhjYq+m^pT1N>igHt5Bf_Npk z5o{ubUz&k%wI0dXfnR;CwJ$wxDmdIau_ecW>jh^^vo!;S^`is8rCMt%j>@JK+`)hn z_?Csx$Dt83vVOO_5s|6wjajKfc!NLj(lzW9I(_n@a4BagK?$nAH7_n6JR7zcMyNvz zPy&*k7Lm!yPagpTZ3zZUcG1gd@p1Qu)7AOi?xDZS-8(*q<>$moPawU=OldvQi<~@m z*Ic=t7paed!Ch&k!kbz$Y^+nZ6+F1_!rjzq`nl$IAxBSR-R}j)qPMdzogLJt?ou{* zCGlcVBD()G4Fm&c1gZPKZz}uax&3kemn~+BvVRBo`(Bqn7=JlefR-r!vh(F<#=ma@ z_$%WG=ymmf+7j?H($6X2e_~<7{f_k4gz%r)e@@f;lf4dPk$=6BpOf}}hWI&A<4=f7 zP~zWj>j-~&tNzUX_r<$EnE?PILcm`Zaef=kzc1zejP>^=pub{~6aN+K?+Zddqx`%S z@+XcFC=LI&4*h3gxBKMwcyEmN z_ukrLRgK!SzPYMu+FEnXl9L1jM+12e0tEsBLJT6&25M*Z4g`eqJqQRY2o$KMppCVo zk+q|)lAEoOgZ4*PD@&qWa8Sx@5K!Rt|GWJUegkz0Bj&vfNWyo4ul`dFixMrA1${%g z(MGtYkMF`*WQ2^w#o`y%UGO*y6G%Tww=*s>-~C_)q)ZuVrW(Q%o0~YWjlQRSN0Tw_ z99tW`BjJr^n|K<* zUeA&9EvTU7hoPGr&*9v1xhc3m0f>=K6yVcjevce&DF7RXk8z)ix*x=n>7MnEdk;!y zso;-^vw1oX*ka4+GZ9P6iuv$|_MSL-Ux8-!_67zb_a9bD5R21z22?#6AQcv9rMmV; zmJakEf9?O*I{ycoJgysPop5|-{xAMh?efdrSa~w^fXNlCB}gbuaVgZ5Me~K% z7p}!cQ0)VK(UIwy_(^w%bP=bG1nqO2BxU%pcIf#BonFnSHdm0uz_tQL*LmA5xU{`n zH9?V9iLVCT0PowRxF#$_sZX-ptuw8RzEB z#WX!2OSy$Rg790$vAto8d8?C|>0+XLe$;69DILZ)F-4kF-O%D#GSHKy#~PHw;GDNj z9lGar7WIb)(n9AzhtfZJ8f&3wyzYnXVe_(`5v$kfZrb3cYx7?LW7U7R4`j^jC3ql( z0~`bd4+QF+i;cY@{lARF&<5aS1q^7vBH5n?^9~r!fLH&|-pb?0WPt8G;7qK|zusjl zpO3#-hQ3{aNonvIu4UGx^?`w9TPAYV?H`@RWqGP+;grt!t8;-2paM-V2C^1W|D zT5gU+w`N1L8~CQ0VveR@u^u1f(eb=S+4#DIlabyx)95s7brH0Nzzdh zUv|?Q=Nbf57?3}lL0xiv7ZgLfZM_e-#ro1`7^ROK*ZpE)ptOe+mkq^L_X* zMF#;v25QM4>hyO-I#$!P!4*dH7Tw}id&+dB?&mTyJ-y#*SFvkA0L^3N?T0`=rN^#;htbf z0S~c$93oU;(RaUr3*3~1UbuULc(j!+-==bXH-84}u=m3v;5FQIAy$J?^YvV0th(^S zX!RQ`AQ6J=a1nT%dOY~@u>d6@zH7QIIjkFOM!T3@1iW=hR>2|V>DqV2+aNk#9b4s! z)7S4!=RHmDRx5at7MGay0)+_>BF99HYkj#EeWPMKRb8Nkm2t87hfrc}0!%GRpiqk> zM)B=#Q7X8kXsDijp*#gqnEXX~0Le}0W9trSj;B#uR_;eVMSU$15?UlL)1 z$(ax+=-aJZC<>RCRL(3|oQk`cEoIk-`jLaJgn zwJO_Keqg;uNVQOjgHrsvpBI|4h;r})yfVdQJO7|y2itPl#fu-|^C}N_`zMcCx3=}y ztBd}nA9Y(rBNF1U8dlbW@t-Rsz9+dpTiFY7ENYOuq8~WLf`xi~$tWiQ(11kGt2|%7 zr|~cUp;L3~+^WlCmgW8B^@L)rNVY}yi-Y%h`PEkIX}6Bc+f@G&W=8z_XHklM-Ir<3 zM{YHcjYbH%+(fmbU zgf3V7Y(0z3TSeIjLcXUJskQCRcHS!`NLEGb#CCltl8nY|csz}4-j73M>SmAUT zqXkcdg^VDb5!14UndOQ7mf6%6fdY=w}7Xtb;T!>3D}!o@6j< zj$|De47^_SJRg03o6((-G8-6ny88iD`>i*k2(qT}pQ&exw63_&LNZ)2MGDEkkXRg^*`Us5c=vtO)t02>dRF&)Ouk10xm$ zaF&Mhr$aKfv2nDvaWr!H723)ZR)F3dF6b=QHJJKNQ-cMmbe^~yYYV~7)hDLVLI@x# z-cr*zcrtH=#{xeft-yJ^&ubTdG1pp>8)&cd!H^bvfL4Ksae-lCapcOWBjNX0V84FhMv&g6SuWz@#wtpZ4Au z6n1w;_!7I^=xxYVNSPIOdz|nUpc=H3*vQ`<9jpU9%1(TKs(`icMbW#%8J9c9 zd_(q+%w{9ghSrev3gXN^r8WwyVS^D+jpbC1eGjf{-nurRYgVUr8`Iw*O)E7w$jXL| zzu;ej3NNj>L40|o99N<;e1{r;?-NxQB0WHi!n1Ikh?S$Sc`qwk>(Dgxa0X(c`_9>0 z%i$Dn-dS>HaO!l^s@J^omR{|M{LFfckYcX{Ey+4N_TU9?GISvfO@4&r^G)$f#ggIv zP-rR(EuFBdQ6TC&{13_F%xq#Ue3IntW)FY?v13b?w8-UA? z)|??0!O{>s*jMACc_#xpW6{H;0+Vtsh&?l^i5I-#&((`O-JC&LojVuq0FK^^}n> z-V0g^vlh-fz})$;0`TyD8C04Q;iyDrN|FL#P{pKJsF@t!jhNf_|0(SiptLbfI`^bY zi6G&IMFT*x*i?+m;kpacJ=Cc`JkOdQOahP#QQ!x2ClxNS;CxF^!oxGWQ5Ej(G-GOaIpd~e^SH((BF7M*eoQBQmzBexEZ ze45hM8bda`ObMkea;hYZgXCFq(iE9BZCZ^-lqQ(Am|}izVadc<@m`Vw=TKyW@$yPL zro?#|5h(1Cu(}YhK1P(+F%C*bf!>sRQPHbY+xYOacjLUE$B%VetDNO0Vlzck1RGWp z=DN4+YF@GHHe*@jd(CJ`IzVCf;`~e4L%)RGK5xnR`bj=MsDcc#vfP#=8(=u?Hb5@E zZ(=6FtMQt^INg$3p;9}a$4sY8d`Ru7<7O%C!d_dp(u%OPY@Fpwzt>hPZ_(O-d6oDv z6p3Ya&F1`B9`Kw+=Kb~9XVvZ)^UE)h{XY z*fahz?qhXH8&pxePSryftP}j_5d1hO$o?pJI`G^+IXk?wC>O|yU&9UP4&qNF%B2!C z2*RcA2RY{9;0iQ}-d}?h3-Nv1g)A2uOPE`q|uq>v^l?7`UE#7Z3V zl;U`30dA>9q`vJun2ah6==xMh_el2xmhT+hTKI*+-cJFwP?>pL6*)GogwXlJlI`dSG1Br`!zs*5H(fB(>>T*i;oCQW3nj2pKYTF>Pr#R zXL-I|4t;QRe7cxA$%;B%d5x8Z#{>ZZHi&#Tm3ed>u!7JfeCUG;iA z+PBW82F>z%IFBAg%vyW9esHf^&c(;=V9OTZ5V*=~qFK zNY|6z=4(_o%%P8F7|8={ruN-#u)d?~g5ct9)2C`949&?!*yyKh@Zn6aCC8LW`)IB% zOb-`7Nv8!D-ozb&s8yrMd|`#C_o_;W#$u1hg} z(~ei*H^te$*@L)`C+bTqWG#Gvkdf~NM13olW8XZNiCR+*CZy3E{l{6u>w=Rux`)} zIzrZ0{4_mwhqGVF<&mFa@%X|F>P8Y3p{-RzG6nH$YZz7+D64y39+x{L1SJd1{C;NS z*d~H+I&(*<5u*0CvCNbKQrk-Hm|-$F<8AFDaW!^pD+!u7k2sfV8aGaMOTR9Ov_rA4 zWNK=GU$32wuehchqfkOYUVAxsucyCVjk(ElXL(9yI_o=t6B5?Jr@3yHw8~A(}EEZ`v-HB3um`saqv?jjs zhtFN`@ciMnBw2R#@+N;nn?jqV%wmeV>Bl+%KTT?PO^?bro~#-f*hi`g1EsWNHpV5Y zF)n)>fio zgX)a@l+aW)iLCM3w}s3`^>E0v8<}^%qj&@%@RzyQpAr)m!B-*<(qRoyoyWH*>tm3^ zPpCFiRnqOL`>&a)Q_-_5qQt_KG*m}0QP(D-RvVUnsn?nD{)7#Nw`R&gr!r6dmW#0` z4@Y-!7g~u?E>-kEKuAq;o40{H(FhAZ6f4^6VJlD!9>XmwXgE@CD{B)+wi>j3SHH z>c_P!1A4*~Jx%%KHEgBd&34IoP~~ztU@Ww3KG}P&&{mrNk&wlj+LMiY-T8q)h_L!1 z6osE8a~Od@EZKnV(06>vfLywEnDkk3u-FWW+}Gs7@ph+)W&2n)+{43U|HH^a zKbL(|3yW@UL67jj=$`k`Ry!_{2kxn;U}1iB^lE^lnZ+|M`1uei&h%L4KL(J!UC}WP z;7Fkw;cue_2O~#EGi#GSMuv5&YYtm%NMFvR-XI4i$nJ4_@tWWH(>IHsS_^#h!f1dp zHyru^4Rvt+k7k9BX0`c}{Td%2k(2(aRx(padH&qUQ+Vzt1@<(kTm)ZL84RRuS$bFW88yOvJ#xx=BrFdO0BN z^ElRs<)Ck5H6B*OgOcio9N!6IshLrED`x{?&xl)#_FJ5*+g^cu& zgwipf+VnGD<`7$)vVE4Aia%klS_?8&@^#%vn{k+k|58NcnZq}ICuERAQ-dP5_}Q$t zc;sRie;c%dQi&{J1}wVGfpSE2{OE`Gs-Aq$8lUu22m53f%&}n3!~^EHBu(P`BxOvj zcPG+K8(Q_YfeWURb95SX=r&zl2>jr7i`13i%Yxr{p%q@D0!henN8Ts$9jf`0TB(Ox zQhwI5lBEfprZFmdRDLdf=?Lu?tRWT_y6BIB#Li@`vs=8!RBq^l7@NV#s6+4>4hj8uYLr^1cTOnc+xdek4VRm!B#;MHA1pCHP8k4)Yb#O{pn{ zCCub?GSrYisj>YSLZMH1Gr|Pxy%}(yA{u)p#I&wEnt|>0gi*r+&uqe_o=F<0xWW>J z(adZ!v&kT1EMu5t96RH0hM>Ar#|-OV@+5Pm2Ze1R}2Rs1HCh)U;VWF2T6!YHE!s$ydl%)Dx|hC_wr;8 zZiZuV_BI_WGJB;;aQ=3S_EUJ4L5bA~sH1cApce>U(WDh+$lE837}nf6AC9$mU3aOvnkLIa-F52x`e%gZp3y+~O>Y1$o3A=i-DF(~A%-m6&CoHP5I<@tI z?!a^?Hp#h8X@-p<1f1-cfLy?3_L{XQ;mpp-u1`1C5@po>sP`%w}&wWC|H>fqSL=x3SGfSjeSxRR!yRqJpVq{dH5Rqqq;Y^&K_ zxdl;F=~ON*Yo;w)5+5uW@y7&tv2RQmN*=3uGww{Tdd@Jr;f8C!*L)gzwI(#a)4h5o z{Kr|DrqxS4G|&TI02|t$19cZ81I53&+JvcY2{1;a_ZzJnoV3l2OBm?tEp#DDZ6Vn_ ze5vCN-BRSE`QL61@GUCD=x>t5nFyJmPv{+G=l2P$40I^ZLO%O zKGJFDgI6s1r7T@PTTZic(`II)y-+1mi{o5Zs3*taTJ%@G%YdU2oF0tA(w>S_#lY{h zzU)FZR_!6_lWTC+T2M8fIH!Vf(muD9^!AS#{E))@+UAu2S7w`DiS1VDfHH9MiC`!Ye5d6)&7>wP4U}Bc zgv&F`?5;`ol)moUr~61d6nYtwtEg=F2_wHAaUZT2785ON)awqN$Gh*$Nn#>3S^|F5 z45qOWX?|A zsN%;XOH5=Tefkj6+3LG@(|XqVF@6JfEIg%PFz+HfL!NIYM%d2Xh3nDPquPlDCM+%= zSzJvbS~R*2%j@kix%2*XQ(2yeybkIU5uFZQ@AgzKZLR9cif~i5q(Yk>w)Dd=$4GMi z4)0a#3E9wDnI(lp>l@S45vAyOdhLu@TH?J;!j;u(W8Goi8JX@QZ`* zoK<~{?hh|N8gYCjYrAuk1VzAY-&-TBK8MeUr>26vVD22ck$sVTZPqhW2S=^7ROaMU%7&$+&`jJgReKY&S=PgaPpf(2h+dd#9$#nfQR%(}k`Cr+ z*B9S6XfS+BP7if1F>)^p$alG6O11V%Pd(uz@Y1x*&<+=7?kL+v9%?M4=&{u#{Pt+! zDA4d&(BM7|Sk-TOl1jw9s(1A6@A1Hqmh9Mat^45IkLlgkHUvm=kmV+5_bkDbIbia} z6-Abggr5<{o05f1^`U+jifSn?EkzvjlEWAmUT3dTst6PNawlx9DYEzmh2>a>$g;Mh-9wOX?xp*F>D$|mFet!-QXFqVfC8Qi(XWJg0XhIe8`AlOLrmyDcI2G z_9a2Xn3m}M0?Iy6HpIOP?ZhhsSJPgz$3XHnT6i%uyG&6%nGx#7>yU8SeMcFG)S%fS zz>`0@orHg##yHo#vB+s#wJDC z7TK3SPG*AcR;;whnflXeqwL-sTuh)*_j4c{0XXXg0kR-Li0qH)X10R%_Q~;<$RV}E zCu&zI)lVEoQvll|fRtve=h#s}c=|(IpGE%_nhs575s2nRQ1Burk2D5q zU8DEmS2I=`O@Ea*cZib&(!|tBglIMegu5yy5UoD9O***cY67l%4JnhrbRMSlmc(A% z24i@{vLf{%iz}9CK^jzyA5Y@FHiXQnS2f4p3&>q>byjyjnUoTmicU%fc+XY@d zztV{zk7$(m{^XrqP_6QJA;tCNV}}k^Fz3v02xKXrx6oD*TDX+oh`9Eu`a*U5rlC%8*S;52@Zm+ z(*o_ez41>k<>9Mn`%;>Um(3tqRGg+wMeq`GLV|!d_fL!Ot?#?pY&#HcX^DlAHR*Fc zUwPtNk6n4S^@j6~0iZ|rmA5LvEV3I3%6)&d#E{J~(RmV7@3?X44FRtq&=$GmN{@?g zTi>zUk%oi5DhLR8h~w|^G$Yd2fxz+(j(Ugdo%U;28Rh4e3W~*`>%Hf6f9IGu=<{&N z41Kk0g0eRqaVyKs; z$M?3(K$A+-nz)JjIS%`_4K+7CL!U#(+gPQmJR3%OvE}1PBiueWHW1k67uaptzU_)I zKVS`Pkgt-G=EEilu{7evuO%&v%tQn{vT!%8E*#bED|#S*>g);s}bDR z1w3&bno(`n=`W!p+K73tA3_Cdzt)ys(2lz-?h4av&#yUiOb^$LK_Ira6(du3i(`eA zLC9rzGXfgVFu9yPq|lbAQfzA!-3Jr#r_l8Xen?c{)K2!?O2A+--IaROZ8A5+_TashVRsffYXgX0%kVi1RZ1DMiWZP^7Pwf~ zd~m0r;snj8*a-0%QJEx2uE=heZ16)%wq(`A&=bARL|8=r$rlLan2nG^wTN8I2eBvP z3q$pf= zAIv}8=Wc(`|3`<84@Dh9X02o15xhrc?SRg=0-CjA#J#*#a`S0I<;LOh!#COog;PfF~b^*P%yhuY2B{$v^-k;UhbYY;hPfd{!P69qQ258J3V7(X7ojMNaI9!7E zGO9zBbJt*W)jy%E>v2vb=l&cKZ*a$z-}&18QAY1#KVMT1v)EU7M?EB#Y=w!&+SXbye<6I0WjuRcgT_sC`$IW zh$vAZZ$WVulF9YR=`5KztGNZ3-M6ogMDv1p)sPn;cH?o&LN3$$RXPlST>*CaRI4Ly zYt!vg<--vf<=QF*@s9mJ(-PUgkV9`nUA4RxkMTr^~?o4A9W zy80^$J^GeA!LaCZe>7s^y##iNMB#1UYl_@(HWdBB6FEfz|XWh7+WPi`m6+(MsBl5Fp~66D?#P);L_5^m$=J~PHty(l{D zI1Co;^+_BR?cpRH$&Q8g7nRA5vA!6ed_bj3Klot2WK0O%Y)Lv>sZhI{fxp3&)JUp% zy%4JBg(=j^xu~fgX1OvakP?7%W>EW3;5;e~zde>hCgJ)zVMM)p&Hp7=hLz#56yR6M zn?l=DU6$(*?YOF{BnPA_GQZ<+bPUFb?fk}|JO-2Qf7~a$4(h! z{PxNqOUbinyY@=vAdfS4&aLJ_H6}BB!;%89jSH8k!rRTdCA$404^fkSa{#xeQBmw+ z=I6%m()~2|H@GyN_|dZ?0rx%{GeFalmbx@VKG|l{FuHvQY9Cu0uI+{)S8#5YKWN@b>zW z6)RKhuvyEg|Dt>G$or2O6AK3o8zkVAALc)c7OWkW^bIWknD^($OIxonAO+q*xI_9r zsm;o2^@rf0S;INT3&-R66jG&8egQ|Ynlt%XbN3V8J?)kNUp@}M3&Effg=oa)JH>b~ zd!x&GU06epZ(SkjP)M8@mUZ%Uxy0o&ODDA$c;;6!#rcr9WAK>PgD029vHY3=!GI@t zDHi&nJg+Oa<}Ia7Bs1{6@R|rp3}Y zEzcUyyub_nFUJ7_q855|7FesP4y!mvN%gf_AbJxTPTr~FwTU&` zGhJR#sKRG3^WIRx0`Jw7j>Hcl(D-={L7gvNaq^5j{UKIu?NIXTqRxB?82z56Z)CZK z&+l`Sth!uzaw$q6gb;H>JJiNTX>!Do#e%wr1YK*w1-AXp3Ub8Hbc2k8hJ#56vG4^P zuAEIjXI+JkrVJeDSH_q^JCbUUBu7qk#(p9oOwGc|BBpy|=6QjYdi%$sXVj1no^imm z(L9if^!K!pzOC*5W{rR*_wOxTf!hXXMQdO?yim)4VJd}B-CspEiM~%Ff~mxPC6Yyv z43!bV#CUHcFvTg5YEg=lrhts zxJtV`G)yvKgf0uP!`Od70Ca2&idMml1H^CuA}DO*SL9@0y44ck8%Sh|tx6P|C&Ppo zW=EA1lUxsWyu#V4XL9eq+onxYD^YkOje7KlOF!z$?;7sY|48DLb;pyiY)6KESg@X! zN|2p36t$SV*- zqkGFWvYk?-p;HVEt@Rm-qWs=E=tg0vpeRkF9dI+crZ}JuaVFE$9vR zkLs{0c@Dc$)s*T+^h}60QeR~lGI++8appEhpF}YCtlp#^t}PWN@8W*==D`Ks^=1LJ z^k{G$mUPE{dxR{Pj2KS|C7Og*8l$r{B68{sI5J=;n78zb~}@#iASY-z@&V?D{+W_w|Fn;8ghkhX1yj@H>b9 zOr!sW2LUl80Jh(g>c7K(&u{+40EYO_`~RE8v{Qa`>)9UJN`d? j`Cn)dkTizB-TS{iyPV{&LPrn~c;Jr@sNewRUuXXZKY0xi diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/doc/Simple.docx b/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/doc/Simple.docx deleted file mode 100644 index 93fbe7b35cba9cb485de6dd12ca48fda23db8d30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15188 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 Y7YfqgK#m6h5P+XVpwN6{|E>1_0J+wd5dZ)H diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/entity/Person.java b/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/entity/Person.java deleted file mode 100644 index 6cbf254..0000000 --- a/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/entity/Person.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.jeecgframework.poi.test.word.entity; - -import org.jeecgframework.poi.excel.annotation.Excel; - -/** - * 测试人员类 - * @author JueYue - * @date 2014年7月26日 下午10:51:30 - */ -public class Person { - - @Excel(name = "姓名") - private String name; - @Excel(name = "手机") - private String tel; - @Excel(name = "Email") - private String email; - - public String getEmail() { - return email; - } - - public String getName() { - return name; - } - - public String getTel() { - return tel; - } - - public void setEmail(String email) { - this.email = email; - } - - public void setName(String name) { - this.name = name; - } - - public void setTel(String tel) { - this.tel = tel; - } - -} diff --git a/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/img/testCode.png b/easypoi-test/src/main/java/org/jeecgframework/poi/test/word/img/testCode.png deleted file mode 100644 index 82f13c7da61f64a11bc3347c81a065fda782e846..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19427 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 map = new HashMap(); - map.put("jueyue", "jueyue"); - - //length 测试 - Object obj = PoiElUtil.eval("le:(jueyue)", map); - Assert.assertEquals("6", obj); - - //format date 测试 - map.put("date", new Date()); - obj = PoiElUtil.eval("fd:(date;yyyy-MM-dd)", map); - System.out.println(obj); - obj = PoiElUtil.eval("fd:(date;yyyy-MM-dd HH:mm:ss)", map); - System.out.println(obj); - obj = PoiElUtil.eval("fd:(date;yyyy-MM-dd HH:mm)", map); - System.out.println(obj); - obj = PoiElUtil.eval("fd:(date;yyyy/MM/dd HH:mm:ss)", map); - System.out.println(obj); - - map.put("date2", new Date().getTime()); - obj = PoiElUtil.eval("fd:(date2;yyyy-MM-dd)", map); - System.out.println(obj); - obj = PoiElUtil.eval("fd:(date2;yyyy-MM-dd HH:mm:ss)", map); - System.out.println(obj); - obj = PoiElUtil.eval("fd:(date2;yyyy-MM-dd HH:mm)", map); - System.out.println(obj); - obj = PoiElUtil.eval("fd:(date2;yyyy/MM/dd HH:mm:ss)", map); - System.out.println(obj); - - //format number 测试 - map.put("number", 213123123123.34234234); - obj = PoiElUtil.eval("fn:(number;###.00)", map); - System.out.println(obj); - obj = PoiElUtil.eval("fn:(number;###.0)", map); - System.out.println(obj); - obj = PoiElUtil.eval("fn:(number;#,###.0)", map); - System.out.println(obj); - - // !if 测试 - obj = PoiElUtil.eval("!if:(le:(jueyue) == '6')", map); - Assert.assertEquals(obj, true); - - obj = PoiElUtil.eval("!if:(fd:(date2;yyyy-MM-dd) == '2015-04-25')", map); - Assert.assertEquals(obj, true); - - obj = PoiElUtil.eval("!if:(fn:(number;###.0) > '3')", map); - Assert.assertEquals(obj, true); - - map.put("key1", "测试1"); - - //三目运算 - obj = PoiElUtil.eval("'6' == '6' ? 'jueyue' : '小明'", map); - Assert.assertEquals(obj, "jueyue"); - - obj = PoiElUtil.eval("le:(jueyue) == '6' ? 'jueyue' : '小明'", map); - Assert.assertEquals(obj, "jueyue"); - - obj = PoiElUtil.eval("'6' == le:(jueyue) ? 'jueyue' : '小明'", map); - Assert.assertEquals(obj, "jueyue"); - - obj = PoiElUtil.eval("'6' == le:(jueyue) ? fd:(date;yyyy-MM-dd) : '小明'", map); - Assert.assertEquals(obj, "2015-04-25"); - obj = PoiElUtil.eval("'6' != le:(jueyue) ? '小明' : fd:(date;yyyy-MM-dd)", map); - Assert.assertEquals(obj, "2015-04-25"); - - obj = PoiElUtil.eval("jueyue == 'jueyue' ? key1 : '小明'", map); - Assert.assertEquals(obj, "测试1"); - - map.put("key1", "100"); - map.put("key2", "200"); - - obj = PoiElUtil.eval("key1 == key2 ? key1 : '小明'", map); - Assert.assertEquals(obj, "小明"); - - obj = PoiElUtil.eval("key1 < key2 ? key1 : '小明'", map); - Assert.assertEquals(obj, "100"); - - obj = PoiElUtil.eval("key2 > key1 ? key1 : '小明'", map); - Assert.assertEquals(obj, "100"); - - map.put("key1", "你好"); - - obj = PoiElUtil.eval("key1 == '你好' ? '不好' : '小明'", map); - Assert.assertEquals(obj, "不好"); - - } -} diff --git a/easypoi-test/src/main/resources/log4j.properties b/easypoi-test/src/main/resources/log4j.properties deleted file mode 100644 index d15e8b4..0000000 --- a/easypoi-test/src/main/resources/log4j.properties +++ /dev/null @@ -1,11 +0,0 @@ -log4j.rootLogger=debug,A1,R -log4j.appender.A1=org.apache.log4j.ConsoleAppender -log4j.appender.A1.Target=System.out -log4j.appender.A1.layout=org.apache.log4j.PatternLayout -log4j.appender.A1.layout.ConversionPattern=[%c]%m%n - -log4j.appender.R=org.apache.log4j.RollingFileAppender -log4j.appender.R.File=/home/logs/easypoi.info -log4j.appender.R.MaxFileSize=10MB -log4j.appender.R.layout=org.apache.log4j.PatternLayout -log4j.appender.R.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n \ No newline at end of file diff --git a/easypoi-web/pom.xml b/easypoi-web/pom.xml index c7e5f4b..f69ce47 100644 --- a/easypoi-web/pom.xml +++ b/easypoi-web/pom.xml @@ -2,9 +2,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.jeecgframework + org.jeecg easypoi - 2.1.2-SNAPSHOT + 2.2.0-SNAPSHOT easypoi-web @@ -29,7 +29,7 @@ - org.jeecgframework + org.jeecg easypoi-base diff --git a/pom.xml b/pom.xml index 7685544..72cd6de 100644 --- a/pom.xml +++ b/pom.xml @@ -1,37 +1,49 @@ 4.0.0 - org.jeecgframework + org.jeecg easypoi - 2.1.2-SNAPSHOT + 2.2.0-SNAPSHOT pom easypoi easypoi-base easypoi-web - easypoi-test easypoi-annotation - www.jeecg.org + http://git.oschina.net/jueyue/easypoi office 工具类 基于 poi + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + scm:https://git.oschina.net/jueyue/easypoi.git + scm:https://git.oschina.net/jueyue/easypoi.git + + JueYue qrb.jueyue@gmail.com + Jeecg + http://www.jeecg.org - 2.1.2-SNAPSHOT + 2.2.0-SNAPSHOT 3.9 2.9.1 16.0.1 3.2.1 1.6.1 3.1.1.RELEASE - 4.7 @@ -46,7 +58,7 @@ poi-ooxml ${poi.version} - + org.apache.poi poi-ooxml-schemas @@ -118,22 +130,14 @@ true - - - junit - junit - ${junit.version} - test - - - org.jeecgframework + org.jeecg easypoi-base ${sub.version} - org.jeecgframework + org.jeecg easypoi-annotation ${sub.version} @@ -143,41 +147,93 @@ + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.5 + + ossrh + https://oss.sonatype.org/ + true + + + + org.apache.maven.plugins + maven-release-plugin + 2.5 + + true + false + release + deploy + + + + org.apache.maven.plugins maven-compiler-plugin - 2.3.2 + 3.0 1.6 1.6 - true UTF-8 + org.apache.maven.plugins + maven-gpg-plugin + 1.5 + + + sign-artifacts + verify + + sign + + + + + + org.apache.maven.plugins maven-source-plugin - 2.1 + 2.2.1 + + + attach-sources + + jar-no-fork + + + - true + UTF-8 + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.9 - compile + attach-javadocs jar + + UTF-8 + - postaop-common-release - http://172.16.100.99:8081/nexus/content/repositories/postaop-common-release/ + oss-release + https://oss.sonatype.org/service/local/staging/deploy/maven2 - postaop-common-snapshot - http://172.16.100.99:8081/nexus/content/repositories/postaop-common-snapshot/ + oss-snapshot + https://oss.sonatype.org/content/repositories/snapshots