@@ -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> | ||||