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