@@ -30,7 +30,7 @@ import cn.afterturn.easypoi.excel.imports.ExcelImportService; | |||||
import cn.afterturn.easypoi.excel.imports.sax.SaxReadExcel; | import cn.afterturn.easypoi.excel.imports.sax.SaxReadExcel; | ||||
import cn.afterturn.easypoi.excel.imports.sax.parse.ISaxRowRead; | import cn.afterturn.easypoi.excel.imports.sax.parse.ISaxRowRead; | ||||
import cn.afterturn.easypoi.exception.excel.ExcelImportException; | import cn.afterturn.easypoi.exception.excel.ExcelImportException; | ||||
import cn.afterturn.easypoi.handler.inter.IExcelReadRowHanlder; | |||||
import cn.afterturn.easypoi.handler.inter.IExcelReadRowHandler; | |||||
/** | /** | ||||
* Excel 导入工具 | * Excel 导入工具 | ||||
@@ -149,7 +149,7 @@ public class ExcelImportUtil { | |||||
*/ | */ | ||||
@SuppressWarnings("rawtypes") | @SuppressWarnings("rawtypes") | ||||
public static void importExcelBySax(InputStream inputstream, Class<?> pojoClass, | public static void importExcelBySax(InputStream inputstream, Class<?> pojoClass, | ||||
ImportParams params, IExcelReadRowHanlder hanlder) { | |||||
ImportParams params, IExcelReadRowHandler hanlder) { | |||||
new SaxReadExcel().readExcel(inputstream, pojoClass, params, null, hanlder); | new SaxReadExcel().readExcel(inputstream, pojoClass, params, null, hanlder); | ||||
} | } | ||||
@@ -68,7 +68,7 @@ public class ImportParams extends ExcelBaseParams { | |||||
/** | /** | ||||
* 校验处理接口 | * 校验处理接口 | ||||
*/ | */ | ||||
private IExcelVerifyHandler verifyHanlder; | |||||
private IExcelVerifyHandler verifyHandler; | |||||
/** | /** | ||||
* 保存上传的Excel目录,默认是 如 TestEntity这个类保存路径就是 | * 保存上传的Excel目录,默认是 如 TestEntity这个类保存路径就是 | ||||
* upload/excelUpload/Test/yyyyMMddHHmss_***** 保存名称上传时间_五位随机数 | * upload/excelUpload/Test/yyyyMMddHHmss_***** 保存名称上传时间_五位随机数 | ||||
@@ -120,8 +120,8 @@ public class ImportParams extends ExcelBaseParams { | |||||
return titleRows; | return titleRows; | ||||
} | } | ||||
public IExcelVerifyHandler getVerifyHanlder() { | |||||
return verifyHanlder; | |||||
public IExcelVerifyHandler getVerifyHandler() { | |||||
return verifyHandler; | |||||
} | } | ||||
public boolean isNeedSave() { | public boolean isNeedSave() { | ||||
@@ -157,8 +157,8 @@ public class ImportParams extends ExcelBaseParams { | |||||
this.titleRows = titleRows; | this.titleRows = titleRows; | ||||
} | } | ||||
public void setVerifyHanlder(IExcelVerifyHandler verifyHanlder) { | |||||
this.verifyHanlder = verifyHanlder; | |||||
public void setVerifyHandler(IExcelVerifyHandler verifyHandler) { | |||||
this.verifyHandler = verifyHandler; | |||||
} | } | ||||
public int getLastOfInvalidRow() { | public int getLastOfInvalidRow() { | ||||
@@ -1,63 +0,0 @@ | |||||
/** | |||||
* Copyright 2013-2015 JueYue (qrb.jueyue@gmail.com) | |||||
* | |||||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||||
* you may not use this file except in compliance with the License. | |||||
* You may obtain a copy of the License at | |||||
* | |||||
* http://www.apache.org/licenses/LICENSE-2.0 | |||||
* | |||||
* Unless required by applicable law or agreed to in writing, software | |||||
* distributed under the License is distributed on an "AS IS" BASIS, | |||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
* See the License for the specific language governing permissions and | |||||
* limitations under the License. | |||||
*/ | |||||
package cn.afterturn.easypoi.excel.entity.result; | |||||
/** | |||||
* Excel导入处理返回结果 | |||||
* | |||||
* @author JueYue | |||||
* 2014年6月23日 下午11:03:29 | |||||
*/ | |||||
public class ExcelVerifyHanlderResult { | |||||
/** | |||||
* 是否正确 | |||||
*/ | |||||
private boolean success; | |||||
/** | |||||
* 错误信息 | |||||
*/ | |||||
private String msg; | |||||
public ExcelVerifyHanlderResult() { | |||||
} | |||||
public ExcelVerifyHanlderResult(boolean success) { | |||||
this.success = success; | |||||
} | |||||
public ExcelVerifyHanlderResult(boolean success, String msg) { | |||||
this.success = success; | |||||
this.msg = msg; | |||||
} | |||||
public String getMsg() { | |||||
return msg; | |||||
} | |||||
public boolean isSuccess() { | |||||
return success; | |||||
} | |||||
public void setMsg(String msg) { | |||||
this.msg = msg; | |||||
} | |||||
public void setSuccess(boolean success) { | |||||
this.success = success; | |||||
} | |||||
} |
@@ -49,7 +49,7 @@ import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; | |||||
import cn.afterturn.easypoi.excel.entity.params.ExcelForEachParams; | import cn.afterturn.easypoi.excel.entity.params.ExcelForEachParams; | ||||
import cn.afterturn.easypoi.excel.export.base.BaseExportService; | import cn.afterturn.easypoi.excel.export.base.BaseExportService; | ||||
import cn.afterturn.easypoi.excel.export.styler.IExcelExportStyler; | import cn.afterturn.easypoi.excel.export.styler.IExcelExportStyler; | ||||
import cn.afterturn.easypoi.excel.export.template.TemplateSumHanlder.TemplateSumEntity; | |||||
import cn.afterturn.easypoi.excel.export.template.TemplateSumHandler.TemplateSumEntity; | |||||
import cn.afterturn.easypoi.excel.html.helper.MergedRegionHelper; | import cn.afterturn.easypoi.excel.html.helper.MergedRegionHelper; | ||||
import cn.afterturn.easypoi.exception.excel.ExcelExportException; | import cn.afterturn.easypoi.exception.excel.ExcelExportException; | ||||
import cn.afterturn.easypoi.exception.excel.enums.ExcelExportEnum; | import cn.afterturn.easypoi.exception.excel.enums.ExcelExportEnum; | ||||
@@ -83,7 +83,7 @@ public final class ExcelExportOfTemplateUtil extends BaseExportService { | |||||
*/ | */ | ||||
private MergedRegionHelper mergedRegionHelper; | private MergedRegionHelper mergedRegionHelper; | ||||
private TemplateSumHanlder templateSumHanlder; | |||||
private TemplateSumHandler templateSumHandler; | |||||
/** | /** | ||||
* 往Sheet 填充正常数据,根据表头信息 使用导入的部分逻辑,坐对象映射 | * 往Sheet 填充正常数据,根据表头信息 使用导入的部分逻辑,坐对象映射 | ||||
@@ -253,7 +253,7 @@ public final class ExcelExportOfTemplateUtil extends BaseExportService { | |||||
boolean colForeach) throws Exception { | boolean colForeach) throws Exception { | ||||
deleteCell(sheet, map); | deleteCell(sheet, map); | ||||
mergedRegionHelper = new MergedRegionHelper(sheet); | mergedRegionHelper = new MergedRegionHelper(sheet); | ||||
templateSumHanlder = new TemplateSumHanlder(sheet); | |||||
templateSumHandler = new TemplateSumHandler(sheet); | |||||
if (colForeach) { | if (colForeach) { | ||||
colForeach(sheet, map); | colForeach(sheet, map); | ||||
} | } | ||||
@@ -277,7 +277,7 @@ public final class ExcelExportOfTemplateUtil extends BaseExportService { | |||||
} | } | ||||
private void hanlderSumCell(Sheet sheet) { | private void hanlderSumCell(Sheet sheet) { | ||||
for (TemplateSumEntity sumEntity : templateSumHanlder.getDataList()) { | |||||
for (TemplateSumEntity sumEntity : templateSumHandler.getDataList()) { | |||||
Cell cell = sheet.getRow(sumEntity.getRow()).getCell(sumEntity.getCol()); | Cell cell = sheet.getRow(sumEntity.getRow()).getCell(sumEntity.getCol()); | ||||
cell.setCellValue(cell.getStringCellValue() | cell.setCellValue(cell.getStringCellValue() | ||||
.replace("sum:(" + sumEntity.getSumKey() + ")", sumEntity.getValue() + "")); | .replace("sum:(" + sumEntity.getSumKey() + ")", sumEntity.getValue() + "")); | ||||
@@ -468,7 +468,7 @@ public final class ExcelExportOfTemplateUtil extends BaseExportService { | |||||
createRowNoRow(cell.getRowIndex() + rowspan,cell.getRow().getSheet().getLastRowNum(),(datas.size() - 1) * rowspan); | createRowNoRow(cell.getRowIndex() + rowspan,cell.getRow().getSheet().getLastRowNum(),(datas.size() - 1) * rowspan); | ||||
cell.getRow().getSheet().shiftRows(cell.getRowIndex() + rowspan, | cell.getRow().getSheet().shiftRows(cell.getRowIndex() + rowspan, | ||||
cell.getRow().getSheet().getLastRowNum(), (datas.size() - 1) * rowspan, true, true); | cell.getRow().getSheet().getLastRowNum(), (datas.size() - 1) * rowspan, true, true); | ||||
templateSumHanlder.shiftRows(cell.getRowIndex(),(datas.size() - 1) * rowspan); | |||||
templateSumHandler.shiftRows(cell.getRowIndex(),(datas.size() - 1) * rowspan); | |||||
} | } | ||||
while (its.hasNext()) { | while (its.hasNext()) { | ||||
Object t = its.next(); | Object t = its.next(); | ||||
@@ -573,7 +573,7 @@ public final class ExcelExportOfTemplateUtil extends BaseExportService { | |||||
row.getCell(ci).setCellStyle(params.getCellStyle()); // plq modify at 2017-11-13 | row.getCell(ci).setCellStyle(params.getCellStyle()); // plq modify at 2017-11-13 | ||||
//判断这个属性是不是需要统计 | //判断这个属性是不是需要统计 | ||||
if (params.isNeedSum()) { | if (params.isNeedSum()) { | ||||
templateSumHanlder.addValueOfKey(params.getName(), val); | |||||
templateSumHandler.addValueOfKey(params.getName(), val); | |||||
} | } | ||||
//如果合并单元格,就把这个单元格的样式和之前的保持一致 | //如果合并单元格,就把这个单元格的样式和之前的保持一致 | ||||
setMergedRegionStyle(row, ci, columns.get(i)); | setMergedRegionStyle(row, ci, columns.get(i)); | ||||
@@ -719,7 +719,7 @@ public final class ExcelExportOfTemplateUtil extends BaseExportService { | |||||
params.setRowspan(colAndrow[0]); | params.setRowspan(colAndrow[0]); | ||||
params.setColspan(colAndrow[1]); | params.setColspan(colAndrow[1]); | ||||
} | } | ||||
params.setNeedSum(templateSumHanlder.isSumKey(params.getName())); | |||||
params.setNeedSum(templateSumHandler.isSumKey(params.getName())); | |||||
return params; | return params; | ||||
} | } | ||||
@@ -1,198 +0,0 @@ | |||||
package cn.afterturn.easypoi.excel.export.template; | |||||
import static cn.afterturn.easypoi.util.PoiElUtil.*; | |||||
import java.util.ArrayList; | |||||
import java.util.HashMap; | |||||
import java.util.List; | |||||
import java.util.Map; | |||||
import org.apache.commons.lang3.StringUtils; | |||||
import org.apache.poi.ss.usermodel.Cell; | |||||
import org.apache.poi.ss.usermodel.Row; | |||||
import org.apache.poi.ss.usermodel.Sheet; | |||||
import cn.afterturn.easypoi.util.PoiCellUtil; | |||||
/** | |||||
* 针对模板统计问题做统一处理 | |||||
* 1.处理模板之前统计需要SUM的数据以及位置 | |||||
* 2.遍历时统计数据 | |||||
* 3.遍历后设置数据 | |||||
* @author JueYue | |||||
* 2016年6月19日 | |||||
*/ | |||||
public class TemplateSumHanlder { | |||||
private Map<String, TemplateSumEntity> sumMap = new HashMap<String, TemplateSumEntity>(); | |||||
public TemplateSumHanlder(Sheet sheet) { | |||||
getAllSumCell(sheet); | |||||
} | |||||
/** | |||||
* 统计计算所有的统计单元格 | |||||
*/ | |||||
private void getAllSumCell(Sheet sheet) { | |||||
Row row = null; | |||||
int index = 0; | |||||
while (index <= sheet.getLastRowNum()) { | |||||
row = sheet.getRow(index++); | |||||
if (row == null) { | |||||
continue; | |||||
} | |||||
for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++) { | |||||
if (row.getCell(i) != null && PoiCellUtil.getCellValue(row.getCell(i)).contains(SUM)) { | |||||
addSumCellToList(row.getCell(i)); | |||||
} | |||||
} | |||||
} | |||||
} | |||||
private void addSumCellToList(Cell cell) { | |||||
String cellValue = cell.getStringCellValue(); | |||||
int index = 0; | |||||
while ((index = indexOfIgnoreCase(cellValue, SUM, index)) != -1) { | |||||
TemplateSumEntity entity = new TemplateSumEntity(); | |||||
entity.setCellValue(cellValue); | |||||
entity.setSumKey(getSumKey(cellValue, index++)); | |||||
entity.setCol(cell.getColumnIndex()); | |||||
entity.setRow(cell.getRowIndex()); | |||||
sumMap.put(entity.getSumKey(), entity); | |||||
} | |||||
} | |||||
public boolean isSumKey(String key) { | |||||
return sumMap.containsKey(key); | |||||
} | |||||
/** | |||||
* SUM:(key) | |||||
* | |||||
* @param cellValue | |||||
* @param index | |||||
* @return | |||||
*/ | |||||
private String getSumKey(String cellValue, int index) { | |||||
return cellValue.substring(index + 5, cellValue.indexOf(")", index)); | |||||
} | |||||
public void addValueOfKey(String key, String val) { | |||||
if (StringUtils.isNoneEmpty(key)) { | |||||
sumMap.get(key).setValue(sumMap.get(key).getValue() + Double.valueOf(val)); | |||||
} | |||||
} | |||||
public List<TemplateSumEntity> getDataList() { | |||||
return new ArrayList<TemplateSumEntity>(sumMap.values()); | |||||
} | |||||
public void addListSizeToSumEntity() { | |||||
} | |||||
/** | |||||
* | |||||
* @param rowIndex | |||||
* @param size | |||||
*/ | |||||
public void shiftRows(int rowIndex, int size) { | |||||
for (TemplateSumEntity entity : getDataList()) { | |||||
if (entity.getRow() > rowIndex) { | |||||
entity.setRow(entity.getRow() + size); | |||||
} | |||||
} | |||||
} | |||||
private static int indexOfIgnoreCase(String str, String searchStr, int startPos) { | |||||
if (str == null || searchStr == null) { | |||||
return -1; | |||||
} | |||||
if (startPos < 0) { | |||||
startPos = 0; | |||||
} | |||||
int endLimit = (str.length() - searchStr.length()) + 1; | |||||
if (startPos > endLimit) { | |||||
return -1; | |||||
} | |||||
if (searchStr.length() == 0) { | |||||
return startPos; | |||||
} | |||||
for (int i = startPos; i < endLimit; i++) { | |||||
if (str.regionMatches(true, i, searchStr, 0, searchStr.length())) { | |||||
return i; | |||||
} | |||||
} | |||||
return -1; | |||||
} | |||||
/** | |||||
* 统计对象 | |||||
* @author JueYue | |||||
*/ | |||||
protected class TemplateSumEntity { | |||||
/** | |||||
* CELL的值 | |||||
*/ | |||||
private String cellValue; | |||||
/** | |||||
* 需要计算的KEY | |||||
*/ | |||||
private String sumKey; | |||||
/** | |||||
* 列 | |||||
*/ | |||||
private int col; | |||||
/** | |||||
* 行 | |||||
*/ | |||||
private int row; | |||||
/** | |||||
* 最后值 | |||||
*/ | |||||
private double value; | |||||
public String getCellValue() { | |||||
return cellValue; | |||||
} | |||||
public void setCellValue(String cellValue) { | |||||
this.cellValue = cellValue; | |||||
} | |||||
public String getSumKey() { | |||||
return sumKey; | |||||
} | |||||
public void setSumKey(String sumKey) { | |||||
this.sumKey = sumKey; | |||||
} | |||||
public int getCol() { | |||||
return col; | |||||
} | |||||
public void setCol(int col) { | |||||
this.col = col; | |||||
} | |||||
public int getRow() { | |||||
return row; | |||||
} | |||||
public void setRow(int row) { | |||||
this.row = row; | |||||
} | |||||
public double getValue() { | |||||
return value; | |||||
} | |||||
public void setValue(double value) { | |||||
this.value = value; | |||||
} | |||||
} | |||||
} |
@@ -212,14 +212,14 @@ public class CellValueService { | |||||
/** | /** | ||||
* 获取cell值 | * 获取cell值 | ||||
* @param dataHanlder | |||||
* @param dataHandler | |||||
* @param object | * @param object | ||||
* @param cellEntity | * @param cellEntity | ||||
* @param excelParams | * @param excelParams | ||||
* @param titleString | * @param titleString | ||||
* @return | * @return | ||||
*/ | */ | ||||
public Object getValue(IExcelDataHandler<?> dataHanlder, Object object, | |||||
public Object getValue(IExcelDataHandler<?> dataHandler, Object object, | |||||
SaxReadCellEntity cellEntity, Map<String, ExcelImportEntity> excelParams, | SaxReadCellEntity cellEntity, Map<String, ExcelImportEntity> excelParams, | ||||
String titleString) { | String titleString) { | ||||
ExcelImportEntity entity = excelParams.get(titleString); | ExcelImportEntity entity = excelParams.get(titleString); | ||||
@@ -230,7 +230,7 @@ public class CellValueService { | |||||
Object result = cellEntity.getValue(); | Object result = cellEntity.getValue(); | ||||
result = hanlderSuffix(entity.getSuffix(), result); | result = hanlderSuffix(entity.getSuffix(), result); | ||||
result = replaceValue(entity.getReplace(), result); | result = replaceValue(entity.getReplace(), result); | ||||
result = handlerValue(dataHanlder, object, result, titleString); | |||||
result = handlerValue(dataHandler, object, result, titleString); | |||||
return getValueByType(xclass, result, entity); | return getValueByType(xclass, result, entity); | ||||
} | } | ||||
@@ -50,7 +50,7 @@ import cn.afterturn.easypoi.excel.entity.ImportParams; | |||||
import cn.afterturn.easypoi.excel.entity.params.ExcelCollectionParams; | import cn.afterturn.easypoi.excel.entity.params.ExcelCollectionParams; | ||||
import cn.afterturn.easypoi.excel.entity.params.ExcelImportEntity; | import cn.afterturn.easypoi.excel.entity.params.ExcelImportEntity; | ||||
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; | import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; | ||||
import cn.afterturn.easypoi.excel.entity.result.ExcelVerifyHanlderResult; | |||||
import cn.afterturn.easypoi.excel.entity.result.ExcelVerifyHandlerResult; | |||||
import cn.afterturn.easypoi.excel.imports.base.ImportBaseService; | import cn.afterturn.easypoi.excel.imports.base.ImportBaseService; | ||||
import cn.afterturn.easypoi.exception.excel.ExcelImportException; | import cn.afterturn.easypoi.exception.excel.ExcelImportException; | ||||
import cn.afterturn.easypoi.exception.excel.enums.ExcelImportEnum; | import cn.afterturn.easypoi.exception.excel.enums.ExcelImportEnum; | ||||
@@ -267,8 +267,8 @@ public class ExcelImportService extends ImportBaseService { | |||||
verfiyFail = true; | verfiyFail = true; | ||||
} | } | ||||
} | } | ||||
if (params.getVerifyHanlder() != null) { | |||||
ExcelVerifyHanlderResult result = params.getVerifyHanlder().verifyHandler(object); | |||||
if (params.getVerifyHandler() != null) { | |||||
ExcelVerifyHandlerResult result = params.getVerifyHandler().verifyHandler(object); | |||||
if (!result.isSuccess()) { | if (!result.isSuccess()) { | ||||
if (cell == null) { | if (cell == null) { | ||||
cell = row.createCell(row.getLastCellNum()); | cell = row.createCell(row.getLastCellNum()); | ||||
@@ -34,7 +34,7 @@ import cn.afterturn.easypoi.excel.entity.ImportParams; | |||||
import cn.afterturn.easypoi.excel.imports.sax.parse.ISaxRowRead; | import cn.afterturn.easypoi.excel.imports.sax.parse.ISaxRowRead; | ||||
import cn.afterturn.easypoi.excel.imports.sax.parse.SaxRowRead; | import cn.afterturn.easypoi.excel.imports.sax.parse.SaxRowRead; | ||||
import cn.afterturn.easypoi.exception.excel.ExcelImportException; | import cn.afterturn.easypoi.exception.excel.ExcelImportException; | ||||
import cn.afterturn.easypoi.handler.inter.IExcelReadRowHanlder; | |||||
import cn.afterturn.easypoi.handler.inter.IExcelReadRowHandler; | |||||
/** | /** | ||||
* 基于SAX Excel大数据读取,读取Excel 07版本,不支持图片读取 | * 基于SAX Excel大数据读取,读取Excel 07版本,不支持图片读取 | ||||
@@ -48,7 +48,7 @@ public class SaxReadExcel { | |||||
private static final Logger LOGGER = LoggerFactory.getLogger(SaxReadExcel.class); | private static final Logger LOGGER = LoggerFactory.getLogger(SaxReadExcel.class); | ||||
public <T> List<T> readExcel(InputStream inputstream, Class<?> pojoClass, ImportParams params, | public <T> List<T> readExcel(InputStream inputstream, Class<?> pojoClass, ImportParams params, | ||||
ISaxRowRead rowRead, IExcelReadRowHanlder hanlder) { | |||||
ISaxRowRead rowRead, IExcelReadRowHandler hanlder) { | |||||
try { | try { | ||||
OPCPackage opcPackage = OPCPackage.open(inputstream); | OPCPackage opcPackage = OPCPackage.open(inputstream); | ||||
return readExcel(opcPackage, pojoClass, params, rowRead, hanlder); | return readExcel(opcPackage, pojoClass, params, rowRead, hanlder); | ||||
@@ -59,7 +59,7 @@ public class SaxReadExcel { | |||||
} | } | ||||
private <T> List<T> readExcel(OPCPackage opcPackage, Class<?> pojoClass, ImportParams params, | private <T> List<T> readExcel(OPCPackage opcPackage, Class<?> pojoClass, ImportParams params, | ||||
ISaxRowRead rowRead, IExcelReadRowHanlder hanlder) { | |||||
ISaxRowRead rowRead, IExcelReadRowHandler hanlder) { | |||||
try { | try { | ||||
XSSFReader xssfReader = new XSSFReader(opcPackage); | XSSFReader xssfReader = new XSSFReader(opcPackage); | ||||
SharedStringsTable sst = xssfReader.getSharedStringsTable(); | SharedStringsTable sst = xssfReader.getSharedStringsTable(); | ||||
@@ -36,7 +36,7 @@ import cn.afterturn.easypoi.excel.entity.sax.SaxReadCellEntity; | |||||
import cn.afterturn.easypoi.excel.imports.CellValueService; | import cn.afterturn.easypoi.excel.imports.CellValueService; | ||||
import cn.afterturn.easypoi.excel.imports.base.ImportBaseService; | import cn.afterturn.easypoi.excel.imports.base.ImportBaseService; | ||||
import cn.afterturn.easypoi.exception.excel.ExcelImportException; | import cn.afterturn.easypoi.exception.excel.ExcelImportException; | ||||
import cn.afterturn.easypoi.handler.inter.IExcelReadRowHanlder; | |||||
import cn.afterturn.easypoi.handler.inter.IExcelReadRowHandler; | |||||
import cn.afterturn.easypoi.util.PoiPublicUtil; | import cn.afterturn.easypoi.util.PoiPublicUtil; | ||||
import cn.afterturn.easypoi.util.PoiReflectorUtil; | import cn.afterturn.easypoi.util.PoiReflectorUtil; | ||||
@@ -69,9 +69,9 @@ public class SaxRowRead extends ImportBaseService implements ISaxRowRead { | |||||
private CellValueService cellValueServer; | private CellValueService cellValueServer; | ||||
private IExcelReadRowHanlder hanlder; | |||||
private IExcelReadRowHandler hanlder; | |||||
public SaxRowRead(Class<?> pojoClass, ImportParams params, IExcelReadRowHanlder hanlder) { | |||||
public SaxRowRead(Class<?> pojoClass, ImportParams params, IExcelReadRowHandler hanlder) { | |||||
list = Lists.newArrayList(); | list = Lists.newArrayList(); | ||||
this.params = params; | this.params = params; | ||||
this.pojoClass = pojoClass; | this.pojoClass = pojoClass; | ||||
@@ -1,31 +0,0 @@ | |||||
/** | |||||
* Copyright 2013-2015 JueYue (qrb.jueyue@gmail.com) | |||||
* | |||||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||||
* you may not use this file except in compliance with the License. | |||||
* You may obtain a copy of the License at | |||||
* | |||||
* http://www.apache.org/licenses/LICENSE-2.0 | |||||
* | |||||
* Unless required by applicable law or agreed to in writing, software | |||||
* distributed under the License is distributed on an "AS IS" BASIS, | |||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
* See the License for the specific language governing permissions and | |||||
* limitations under the License. | |||||
*/ | |||||
package cn.afterturn.easypoi.handler.inter; | |||||
/** | |||||
* 接口自定义处理类 | |||||
* @author JueYue | |||||
* 2015年1月16日 下午8:06:26 | |||||
* @param <T> | |||||
*/ | |||||
public interface IExcelReadRowHanlder<T> { | |||||
/** | |||||
* 处理解析对象 | |||||
* @param t | |||||
*/ | |||||
public void hanlder(T t); | |||||
} |
@@ -15,7 +15,7 @@ | |||||
*/ | */ | ||||
package cn.afterturn.easypoi.handler.inter; | package cn.afterturn.easypoi.handler.inter; | ||||
import cn.afterturn.easypoi.excel.entity.result.ExcelVerifyHanlderResult; | |||||
import cn.afterturn.easypoi.excel.entity.result.ExcelVerifyHandlerResult; | |||||
/** | /** | ||||
* 导入校验接口 | * 导入校验接口 | ||||
@@ -32,6 +32,6 @@ public interface IExcelVerifyHandler<T> { | |||||
* 当前对象 | * 当前对象 | ||||
* @return | * @return | ||||
*/ | */ | ||||
public ExcelVerifyHanlderResult verifyHandler(T obj); | |||||
public ExcelVerifyHandlerResult verifyHandler(T obj); | |||||
} | } |
@@ -52,18 +52,18 @@ public class ExcelListEntity extends ExcelBaseParams { | |||||
this.clazz = clazz; | this.clazz = clazz; | ||||
} | } | ||||
public ExcelListEntity(List<?> list, Class<?> clazz, IExcelDataHandler dataHanlder) { | |||||
public ExcelListEntity(List<?> list, Class<?> clazz, IExcelDataHandler dataHandler) { | |||||
this.list = list; | this.list = list; | ||||
this.clazz = clazz; | this.clazz = clazz; | ||||
setDataHanlder(dataHanlder); | |||||
setDataHandler(dataHandler); | |||||
} | } | ||||
public ExcelListEntity(List<?> list, Class<?> clazz, IExcelDataHandler dataHanlder, | |||||
public ExcelListEntity(List<?> list, Class<?> clazz, IExcelDataHandler dataHandler, | |||||
int headRows) { | int headRows) { | ||||
this.list = list; | this.list = list; | ||||
this.clazz = clazz; | this.clazz = clazz; | ||||
this.headRows = headRows; | this.headRows = headRows; | ||||
setDataHanlder(dataHanlder); | |||||
setDataHandler(dataHandler); | |||||
} | } | ||||
public ExcelListEntity(List<?> list, Class<?> clazz, int headRows) { | public ExcelListEntity(List<?> list, Class<?> clazz, int headRows) { | ||||
@@ -6,7 +6,7 @@ | |||||
导入的逻辑就变成了 | 导入的逻辑就变成了 | ||||
```java | ```java | ||||
ImportParams params = new ImportParams(); | ImportParams params = new ImportParams(); | ||||
params.setDataHanlder(new MapImportHanlder()); | |||||
params.setDataHandler(new MapImportHandler()); | |||||
long start = new Date().getTime(); | long start = new Date().getTime(); | ||||
List<Map<String, Object>> list = ExcelImportUtil.importExcel( | List<Map<String, Object>> list = ExcelImportUtil.importExcel( | ||||
new File(PoiPublicUtil.getWebRootPath("import/check.xls")), Map.class, params); | new File(PoiPublicUtil.getWebRootPath("import/check.xls")), Map.class, params); | ||||