| @@ -41,7 +41,7 @@ EasyPoi的几个入口工具类 | |||||
| 2.easypoi-annotation 基础注解包,作用与实体对象上,拆分后方便maven多工程的依赖管理 | 2.easypoi-annotation 基础注解包,作用与实体对象上,拆分后方便maven多工程的依赖管理 | ||||
| 3.easypoi-base 导入导出的工具包,可以完成Excel导出,导入,Word的导出,Excel的导出功能 | 3.easypoi-base 导入导出的工具包,可以完成Excel导出,导入,Word的导出,Excel的导出功能 | ||||
| 4.easypoi-web 耦合了spring-mvc 基于AbstractView,极大的简化spring-mvc下的导出功能 | 4.easypoi-web 耦合了spring-mvc 基于AbstractView,极大的简化spring-mvc下的导出功能 | ||||
| 5.sax 导入使用xercesImpl这个包(这个包可能造成奇怪的问题哈),word导出使用poi-scratchpad,都作为可选包了 | |||||
| -------------------------- | -------------------------- | ||||
| maven | maven | ||||
| -------------------------- | -------------------------- | ||||
| @@ -6,22 +6,12 @@ | |||||
| <attribute name="maven.pomderived" value="true"/> | <attribute name="maven.pomderived" value="true"/> | ||||
| </attributes> | </attributes> | ||||
| </classpathentry> | </classpathentry> | ||||
| <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> | |||||
| <attributes> | |||||
| <attribute name="maven.pomderived" value="true"/> | |||||
| </attributes> | |||||
| </classpathentry> | |||||
| <classpathentry kind="src" output="target/test-classes" path="src/test/java"> | <classpathentry kind="src" output="target/test-classes" path="src/test/java"> | ||||
| <attributes> | <attributes> | ||||
| <attribute name="optional" value="true"/> | <attribute name="optional" value="true"/> | ||||
| <attribute name="maven.pomderived" value="true"/> | <attribute name="maven.pomderived" value="true"/> | ||||
| </attributes> | </attributes> | ||||
| </classpathentry> | </classpathentry> | ||||
| <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"> | |||||
| <attributes> | |||||
| <attribute name="maven.pomderived" value="true"/> | |||||
| </attributes> | |||||
| </classpathentry> | |||||
| <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> | <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> | ||||
| <attributes> | <attributes> | ||||
| <attribute name="maven.pomderived" value="true"/> | <attribute name="maven.pomderived" value="true"/> | ||||
| @@ -20,14 +20,24 @@ | |||||
| <dependency> | <dependency> | ||||
| <groupId>org.apache.poi</groupId> | <groupId>org.apache.poi</groupId> | ||||
| <artifactId>poi-ooxml-schemas</artifactId> | <artifactId>poi-ooxml-schemas</artifactId> | ||||
| <exclusions> | |||||
| <exclusion> | |||||
| <groupId>xerces</groupId> | |||||
| <artifactId>xercesImpl</artifactId> | |||||
| </exclusion> | |||||
| </exclusions> | |||||
| </dependency> | </dependency> | ||||
| <dependency> | |||||
| <groupId>org.apache.poi</groupId> | |||||
| <artifactId>poi-scratchpad</artifactId> | |||||
| </dependency> | |||||
| <!-- Sax 读入的时候使用 --> | |||||
| <dependency> | <dependency> | ||||
| <groupId>xerces</groupId> | <groupId>xerces</groupId> | ||||
| <artifactId>xercesImpl</artifactId> | <artifactId>xercesImpl</artifactId> | ||||
| <optional>true</optional> | |||||
| </dependency> | |||||
| <!-- Word 时候用到 --> | |||||
| <dependency> | |||||
| <groupId>org.apache.poi</groupId> | |||||
| <artifactId>poi-scratchpad</artifactId> | |||||
| <optional>true</optional> | |||||
| </dependency> | </dependency> | ||||
| <!-- google 工具类 --> | <!-- google 工具类 --> | ||||
| @@ -43,7 +43,7 @@ public final class POICacheManager { | |||||
| private static LoadingCache<String, byte[]> loadingCache; | private static LoadingCache<String, byte[]> loadingCache; | ||||
| static { | static { | ||||
| loadingCache = CacheBuilder.newBuilder().expireAfterWrite(1, TimeUnit.DAYS).maximumSize(50) | |||||
| loadingCache = CacheBuilder.newBuilder().expireAfterWrite(7, TimeUnit.DAYS).maximumSize(50) | |||||
| .build(new CacheLoader<String, byte[]>() { | .build(new CacheLoader<String, byte[]>() { | ||||
| @Override | @Override | ||||
| public byte[] load(String url) throws Exception { | public byte[] load(String url) throws Exception { | ||||
| @@ -23,6 +23,7 @@ import java.util.Iterator; | |||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| import org.apache.commons.lang3.StringUtils; | |||||
| import org.apache.poi.ss.usermodel.CellStyle; | import org.apache.poi.ss.usermodel.CellStyle; | ||||
| import org.apache.poi.ss.usermodel.Drawing; | import org.apache.poi.ss.usermodel.Drawing; | ||||
| import org.apache.poi.ss.usermodel.Row; | import org.apache.poi.ss.usermodel.Row; | ||||
| @@ -49,7 +50,7 @@ import org.slf4j.LoggerFactory; | |||||
| * @date 2014年6月17日 下午5:30:54 | * @date 2014年6月17日 下午5:30:54 | ||||
| */ | */ | ||||
| public class ExcelExportServer extends ExcelExportBase { | public class ExcelExportServer extends ExcelExportBase { | ||||
| private final static Logger LOGGER = LoggerFactory.getLogger(ExcelExportServer.class); | private final static Logger LOGGER = LoggerFactory.getLogger(ExcelExportServer.class); | ||||
| // 最大行数,超过自动多Sheet | // 最大行数,超过自动多Sheet | ||||
| @@ -174,7 +175,7 @@ public class ExcelExportServer extends ExcelExportBase { | |||||
| } | } | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| LOGGER.error(e.getMessage(),e); | |||||
| LOGGER.error(e.getMessage(), e); | |||||
| LOGGER.error(e.getMessage(), e); | LOGGER.error(e.getMessage(), e); | ||||
| throw new ExcelExportException(ExcelExportEnum.EXPORT_ERROR, e.getCause()); | throw new ExcelExportException(ExcelExportEnum.EXPORT_ERROR, e.getCause()); | ||||
| } | } | ||||
| @@ -272,15 +273,20 @@ public class ExcelExportServer extends ExcelExportBase { | |||||
| CellStyle titleStyle = getExcelExportStyler().getTitleStyle(title.getColor()); | CellStyle titleStyle = getExcelExportStyler().getTitleStyle(title.getColor()); | ||||
| for (int i = 0, exportFieldTitleSize = excelParams.size(); i < exportFieldTitleSize; i++) { | for (int i = 0, exportFieldTitleSize = excelParams.size(); i < exportFieldTitleSize; i++) { | ||||
| ExcelExportEntity entity = excelParams.get(i); | ExcelExportEntity entity = excelParams.get(i); | ||||
| createStringCell(row, cellIndex, entity.getName(), titleStyle, entity); | |||||
| if (StringUtils.isNoneBlank(entity.getName())) { | |||||
| createStringCell(row, cellIndex, entity.getName(), titleStyle, entity); | |||||
| } | |||||
| if (entity.getList() != null) { | if (entity.getList() != null) { | ||||
| List<ExcelExportEntity> sTitel = entity.getList(); | List<ExcelExportEntity> sTitel = entity.getList(); | ||||
| sheet.addMergedRegion(new CellRangeAddress(index, index, cellIndex, cellIndex | |||||
| + sTitel.size() | |||||
| - 1)); | |||||
| if (StringUtils.isNoneBlank(entity.getName())) { | |||||
| sheet.addMergedRegion(new CellRangeAddress(index, index, cellIndex, cellIndex | |||||
| + sTitel | |||||
| .size() | |||||
| - 1)); | |||||
| } | |||||
| for (int j = 0, size = sTitel.size(); j < size; j++) { | for (int j = 0, size = sTitel.size(); j < size; j++) { | ||||
| createStringCell(listRow, cellIndex, sTitel.get(j).getName(), titleStyle, | |||||
| entity); | |||||
| createStringCell(rows == 2 ? listRow : row, cellIndex, sTitel.get(j).getName(), | |||||
| titleStyle, entity); | |||||
| cellIndex++; | cellIndex++; | ||||
| } | } | ||||
| } else if (rows == 2) { | } else if (rows == 2) { | ||||
| @@ -301,7 +307,8 @@ public class ExcelExportServer extends ExcelExportBase { | |||||
| */ | */ | ||||
| private int getRowNums(List<ExcelExportEntity> excelParams) { | private int getRowNums(List<ExcelExportEntity> excelParams) { | ||||
| for (int i = 0; i < excelParams.size(); i++) { | for (int i = 0; i < excelParams.size(); i++) { | ||||
| if (excelParams.get(i).getList() != null) { | |||||
| if (excelParams.get(i).getList() != null | |||||
| && StringUtils.isNoneBlank(excelParams.get(i).getName())) { | |||||
| return 2; | return 2; | ||||
| } | } | ||||
| } | } | ||||
| @@ -96,9 +96,6 @@ public final class ExcelExportOfTemplateUtil extends ExcelExportBase { | |||||
| if (etarget != null) { | if (etarget != null) { | ||||
| targetId = etarget.value(); | targetId = etarget.value(); | ||||
| } | } | ||||
| // 创建表格样式 | |||||
| setExcelExportStyler((IExcelExportStyler) teplateParams.getStyle() | |||||
| .getConstructor(Workbook.class).newInstance(workbook)); | |||||
| // 获取实体对象的导出数据 | // 获取实体对象的导出数据 | ||||
| List<ExcelExportEntity> excelParams = new ArrayList<ExcelExportEntity>(); | List<ExcelExportEntity> excelParams = new ArrayList<ExcelExportEntity>(); | ||||
| getAllExcelField(null, targetId, fileds, excelParams, pojoClass, null); | getAllExcelField(null, targetId, fileds, excelParams, pojoClass, null); | ||||
| @@ -172,6 +169,9 @@ public final class ExcelExportOfTemplateUtil extends ExcelExportBase { | |||||
| try { | try { | ||||
| this.teplateParams = params; | this.teplateParams = params; | ||||
| wb = getCloneWorkBook(); | wb = getCloneWorkBook(); | ||||
| // 创建表格样式 | |||||
| setExcelExportStyler((IExcelExportStyler) teplateParams.getStyle() | |||||
| .getConstructor(Workbook.class).newInstance(wb)); | |||||
| // step 3. 解析模板 | // step 3. 解析模板 | ||||
| for (int i = 0, le = params.isScanAllsheet() ? wb.getNumberOfSheets() : params | for (int i = 0, le = params.isScanAllsheet() ? wb.getNumberOfSheets() : params | ||||
| .getSheetNum().length; i < le; i++) { | .getSheetNum().length; i < le; i++) { | ||||
| @@ -6,7 +6,6 @@ | |||||
| <attribute name="maven.pomderived" value="true"/> | <attribute name="maven.pomderived" value="true"/> | ||||
| </attributes> | </attributes> | ||||
| </classpathentry> | </classpathentry> | ||||
| <classpathentry kind="src" path="src/test"/> | |||||
| <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> | <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> | ||||
| <attributes> | <attributes> | ||||
| <attribute name="maven.pomderived" value="true"/> | <attribute name="maven.pomderived" value="true"/> | ||||
| @@ -32,7 +32,7 @@ public class CourseEntity implements java.io.Serializable { | |||||
| //@ExcelEntity(id = "shuxue") | //@ExcelEntity(id = "shuxue") | ||||
| private TeacherEntity shuxueteacher; | private TeacherEntity shuxueteacher; | ||||
| @ExcelCollection(name = "选课学生", orderNum = "4") | |||||
| @ExcelCollection(name = "", orderNum = "4") | |||||
| private List<StudentEntity> students; | private List<StudentEntity> students; | ||||
| /** | /** | ||||
| @@ -16,27 +16,27 @@ public class StudentEntity implements java.io.Serializable { | |||||
| /** | /** | ||||
| * id | * id | ||||
| */ | */ | ||||
| private String id; | |||||
| private String id; | |||||
| /** | /** | ||||
| * 学生姓名 | * 学生姓名 | ||||
| */ | */ | ||||
| @Excel(name = "学生姓名", height = 20, width = 30) | @Excel(name = "学生姓名", height = 20, width = 30) | ||||
| private String name; | |||||
| private String name; | |||||
| /** | /** | ||||
| * 学生性别 | * 学生性别 | ||||
| */ | */ | ||||
| @Excel(name = "学生性别", replace = { "男_1", "女_2" }, suffix = "生", mergeVertical = true) | |||||
| private int sex; | |||||
| @Excel(name = "学生性别", replace = { "男_1", "女_2" }, suffix = "生") | |||||
| private int sex; | |||||
| @Excel(name = "出生日期", databaseFormat = "yyyyMMddHHmmss", exportFormat = "yyyy-MM-dd") | |||||
| private Date birthday; | |||||
| @Excel(name = "出生日期", databaseFormat = "yyyyMMddHHmmss", exportFormat = "yyyy-MM-dd", mergeVertical = true) | |||||
| private Date birthday; | |||||
| @Excel(name = "进校日期", databaseFormat = "yyyyMMddHHmmss", exportFormat = "yyyy-MM-dd") | @Excel(name = "进校日期", databaseFormat = "yyyyMMddHHmmss", exportFormat = "yyyy-MM-dd") | ||||
| private java.sql.Time registrationDate; | |||||
| private java.sql.Time registrationDate; | |||||
| /** | /** | ||||
| * 课程主键 | * 课程主键 | ||||
| */ | */ | ||||
| private CourseEntity course; | |||||
| private CourseEntity course; | |||||
| public CourseEntity getCourse() { | public CourseEntity getCourse() { | ||||
| return course; | return course; | ||||
| @@ -45,12 +45,21 @@ public class TemplateForEachTest { | |||||
| for (int i = 0; i < 4; i++) { | for (int i = 0; i < 4; i++) { | ||||
| Map<String, Object> testMap = new HashMap<String, Object>(); | Map<String, Object> testMap = new HashMap<String, Object>(); | ||||
| testMap.put("id", i); | |||||
| testMap.put("id", "xman"); | |||||
| testMap.put("name", "小明" + i); | testMap.put("name", "小明" + i); | ||||
| testMap.put("sex", "man"); | testMap.put("sex", "man"); | ||||
| mapList.add(testMap); | mapList.add(testMap); | ||||
| } | } | ||||
| map.put("maplist", mapList); | map.put("maplist", mapList); | ||||
| mapList = new ArrayList<Map<String, Object>>(); | |||||
| for (int i = 0; i < 6; i++) { | |||||
| Map<String, Object> testMap = new HashMap<String, Object>(); | |||||
| testMap.put("si", "xman"); | |||||
| mapList.add(testMap); | |||||
| } | |||||
| map.put("sitest", mapList); | |||||
| Workbook workbook = ExcelExportUtil.exportExcel(params, map); | Workbook workbook = ExcelExportUtil.exportExcel(params, map); | ||||
| File savefile = new File("d:/"); | File savefile = new File("d:/"); | ||||
| if (!savefile.exists()) { | if (!savefile.exists()) { | ||||
| @@ -21,7 +21,7 @@ public class ExcelExportForMap { | |||||
| /** | /** | ||||
| * Map 测试 | * Map 测试 | ||||
| */ | */ | ||||
| //@Test | |||||
| @Test | |||||
| public void test() { | public void test() { | ||||
| try { | try { | ||||
| List<ExcelExportEntity> entity = new ArrayList<ExcelExportEntity>(); | List<ExcelExportEntity> entity = new ArrayList<ExcelExportEntity>(); | ||||
| @@ -29,7 +29,7 @@ public class ExcelExportForMap { | |||||
| excelentity.setNeedMerge(true); | excelentity.setNeedMerge(true); | ||||
| entity.add(excelentity); | entity.add(excelentity); | ||||
| entity.add(new ExcelExportEntity("性别", "sex")); | entity.add(new ExcelExportEntity("性别", "sex")); | ||||
| excelentity = new ExcelExportEntity("学生", "students"); | |||||
| excelentity = new ExcelExportEntity(null, "students"); | |||||
| List<ExcelExportEntity> temp = new ArrayList<ExcelExportEntity>(); | List<ExcelExportEntity> temp = new ArrayList<ExcelExportEntity>(); | ||||
| temp.add(new ExcelExportEntity("姓名", "name")); | temp.add(new ExcelExportEntity("姓名", "name")); | ||||
| temp.add(new ExcelExportEntity("性别", "sex")); | temp.add(new ExcelExportEntity("性别", "sex")); | ||||
| @@ -65,7 +65,7 @@ public class ExcelExportForMap { | |||||
| /** | /** | ||||
| * 合并同类项 | * 合并同类项 | ||||
| */ | */ | ||||
| @Test | |||||
| //@Test | |||||
| public void testMerge() { | public void testMerge() { | ||||
| try { | try { | ||||
| List<ExcelExportEntity> entity = new ArrayList<ExcelExportEntity>(); | List<ExcelExportEntity> entity = new ArrayList<ExcelExportEntity>(); | ||||
| @@ -45,20 +45,20 @@ public class ExcelExportUtilTest { | |||||
| FileOutputStream fos = new FileOutputStream("d:/tt.xlsx"); | FileOutputStream fos = new FileOutputStream("d:/tt.xlsx"); | ||||
| workbook.write(fos); | workbook.write(fos); | ||||
| fos.close(); | 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(); | |||||
| // 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 | @Before | ||||
| public void testBefore() { | public void testBefore() { | ||||
| for (int i = 0; i < 2000000; i++) { | |||||
| for (int i = 0; i < 20; i++) { | |||||
| courseEntity = new CourseEntity(); | courseEntity = new CourseEntity(); | ||||
| courseEntity.setId("1131"); | courseEntity.setId("1131"); | ||||
| courseEntity.setName("海贼王必修(" + (i + 1) + ")"); | courseEntity.setName("海贼王必修(" + (i + 1) + ")"); | ||||
| @@ -17,7 +17,7 @@ import org.junit.Test; | |||||
| public class ExcelImportUtilTest { | public class ExcelImportUtilTest { | ||||
| @Test | |||||
| //@Test | |||||
| public void test() { | public void test() { | ||||
| try { | try { | ||||
| ImportParams params = new ImportParams(); | ImportParams params = new ImportParams(); | ||||
| @@ -37,7 +37,7 @@ public class ExcelImportUtilTest { | |||||
| } | } | ||||
| } | } | ||||
| // @Test | |||||
| @Test | |||||
| public void test2() { | public void test2() { | ||||
| ImportParams params = new ImportParams(); | ImportParams params = new ImportParams(); | ||||
| params.setTitleRows(1); | params.setTitleRows(1); | ||||
| @@ -55,7 +55,7 @@ public class WordExportUtilAnnExcelTest { | |||||
| map.put("pList", new ExcelListEntity(list, Person.class)); | map.put("pList", new ExcelListEntity(list, Person.class)); | ||||
| try { | try { | ||||
| XWPFDocument doc = WordExportUtil.exportWord07( | XWPFDocument doc = WordExportUtil.exportWord07( | ||||
| "org/jeecgframework/poi/word/doc/SimpleExcel.docx", map); | |||||
| "org/jeecgframework/poi/test/word/doc/SimpleExcel.docx", map); | |||||
| FileOutputStream fos = new FileOutputStream("d:/simpleExcel.docx"); | FileOutputStream fos = new FileOutputStream("d:/simpleExcel.docx"); | ||||
| doc.write(fos); | doc.write(fos); | ||||
| fos.close(); | fos.close(); | ||||
| @@ -105,7 +105,7 @@ public class WordExportUtilAnnExcelTest { | |||||
| map.put("cs", new ExcelListEntity(list, CourseEntity.class)); | map.put("cs", new ExcelListEntity(list, CourseEntity.class)); | ||||
| try { | try { | ||||
| XWPFDocument doc = WordExportUtil.exportWord07( | XWPFDocument doc = WordExportUtil.exportWord07( | ||||
| "org/jeecgframework/poi/word/doc/Excel.docx", map); | |||||
| "org/jeecgframework/poi/test/word/doc/Excel.docx", map); | |||||
| FileOutputStream fos = new FileOutputStream("d:/Excel.docx"); | FileOutputStream fos = new FileOutputStream("d:/Excel.docx"); | ||||
| doc.write(fos); | doc.write(fos); | ||||
| fos.close(); | fos.close(); | ||||
| @@ -30,12 +30,12 @@ public class WordExportUtilBaseExcelTest { | |||||
| WordImageEntity image = new WordImageEntity(); | WordImageEntity image = new WordImageEntity(); | ||||
| image.setHeight(200); | image.setHeight(200); | ||||
| image.setWidth(500); | image.setWidth(500); | ||||
| image.setUrl("org/jeecgframework/poi/word/img/testCode.png"); | |||||
| image.setUrl("org/jeecgframework/poi/test/word/img/testCode.png"); | |||||
| image.setType(WordImageEntity.URL); | image.setType(WordImageEntity.URL); | ||||
| map.put("testCode", image); | map.put("testCode", image); | ||||
| try { | try { | ||||
| XWPFDocument doc = WordExportUtil.exportWord07( | XWPFDocument doc = WordExportUtil.exportWord07( | ||||
| "org/jeecgframework/poi/word/doc/Image.docx", map); | |||||
| "org/jeecgframework/poi/test/word/doc/Image.docx", map); | |||||
| FileOutputStream fos = new FileOutputStream("d:/image.docx"); | FileOutputStream fos = new FileOutputStream("d:/image.docx"); | ||||
| doc.write(fos); | doc.write(fos); | ||||
| fos.close(); | fos.close(); | ||||
| @@ -68,7 +68,7 @@ public class WordExportUtilBaseExcelTest { | |||||
| map.put("pList", list); | map.put("pList", list); | ||||
| try { | try { | ||||
| XWPFDocument doc = WordExportUtil.exportWord07( | XWPFDocument doc = WordExportUtil.exportWord07( | ||||
| "org/jeecgframework/poi/word/doc/SimpleExcel.docx", map); | |||||
| "org/jeecgframework/poi/test/word/doc/SimpleExcel.docx", map); | |||||
| FileOutputStream fos = new FileOutputStream("d:/simpleExcel.docx"); | FileOutputStream fos = new FileOutputStream("d:/simpleExcel.docx"); | ||||
| doc.write(fos); | doc.write(fos); | ||||
| fos.close(); | fos.close(); | ||||
| @@ -32,7 +32,7 @@ public class WordExportUtilTest { | |||||
| map.put("testCode", image); | map.put("testCode", image); | ||||
| try { | try { | ||||
| XWPFDocument doc = WordExportUtil.exportWord07( | XWPFDocument doc = WordExportUtil.exportWord07( | ||||
| "org/jeecgframework/poi/word/doc/Image.docx", map); | |||||
| "org/jeecgframework/poi/test/word/doc/Image.docx", map); | |||||
| FileOutputStream fos = new FileOutputStream("d:/image.docx"); | FileOutputStream fos = new FileOutputStream("d:/image.docx"); | ||||
| doc.write(fos); | doc.write(fos); | ||||
| fos.close(); | fos.close(); | ||||
| @@ -54,7 +54,7 @@ public class WordExportUtilTest { | |||||
| map.put("date", "2015-01-03"); | map.put("date", "2015-01-03"); | ||||
| try { | try { | ||||
| XWPFDocument doc = WordExportUtil.exportWord07( | XWPFDocument doc = WordExportUtil.exportWord07( | ||||
| "org/jeecgframework/poi/word/doc/Simple.docx", map); | |||||
| "org/jeecgframework/poi/test/word/doc/Simple.docx", map); | |||||
| FileOutputStream fos = new FileOutputStream("d:/simple.docx"); | FileOutputStream fos = new FileOutputStream("d:/simple.docx"); | ||||
| doc.write(fos); | doc.write(fos); | ||||
| fos.close(); | fos.close(); | ||||
| @@ -6,11 +6,6 @@ | |||||
| <attribute name="maven.pomderived" value="true"/> | <attribute name="maven.pomderived" value="true"/> | ||||
| </attributes> | </attributes> | ||||
| </classpathentry> | </classpathentry> | ||||
| <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> | |||||
| <attributes> | |||||
| <attribute name="maven.pomderived" value="true"/> | |||||
| </attributes> | |||||
| </classpathentry> | |||||
| <classpathentry kind="src" output="target/test-classes" path="src/test/java"> | <classpathentry kind="src" output="target/test-classes" path="src/test/java"> | ||||
| <attributes> | <attributes> | ||||
| <attribute name="optional" value="true"/> | <attribute name="optional" value="true"/> | ||||
| @@ -46,11 +46,19 @@ | |||||
| <artifactId>poi-ooxml</artifactId> | <artifactId>poi-ooxml</artifactId> | ||||
| <version>${poi.version}</version> | <version>${poi.version}</version> | ||||
| </dependency> | </dependency> | ||||
| <dependency> | <dependency> | ||||
| <groupId>org.apache.poi</groupId> | <groupId>org.apache.poi</groupId> | ||||
| <artifactId>poi-ooxml-schemas</artifactId> | <artifactId>poi-ooxml-schemas</artifactId> | ||||
| <version>${poi.version}</version> | <version>${poi.version}</version> | ||||
| </dependency> | </dependency> | ||||
| <!-- sax 读取时候用到的 --> | |||||
| <dependency> | |||||
| <groupId>xerces</groupId> | |||||
| <artifactId>xercesImpl</artifactId> | |||||
| <version>${xerces.version}</version> | |||||
| <optional>true</optional> | |||||
| </dependency> | |||||
| <dependency> | <dependency> | ||||
| <groupId>org.apache.poi</groupId> | <groupId>org.apache.poi</groupId> | ||||
| <artifactId>poi-scratchpad</artifactId> | <artifactId>poi-scratchpad</artifactId> | ||||
| @@ -101,11 +109,6 @@ | |||||
| <artifactId>spring-core</artifactId> | <artifactId>spring-core</artifactId> | ||||
| <version>${spring.version}</version> | <version>${spring.version}</version> | ||||
| </dependency> | </dependency> | ||||
| <dependency> | |||||
| <groupId>xerces</groupId> | |||||
| <artifactId>xercesImpl</artifactId> | |||||
| <version>${xerces.version}</version> | |||||
| </dependency> | |||||
| <dependency> | <dependency> | ||||
| <groupId>javax.servlet</groupId> | <groupId>javax.servlet</groupId> | ||||