@@ -167,7 +167,7 @@ public class ExcelExportServer extends BaseExportServer { | |||
? createHeaderAndTitle(entity, sheet, workbook, excelParams) : 0; | |||
int titleHeight = index; | |||
setCellWith(excelParams, sheet); | |||
short rowHeight = entity.getHeight() > 0? entity.getHeight() : getRowHeight(excelParams); | |||
short rowHeight = entity.getHeight() > 0 ? entity.getHeight() : getRowHeight(excelParams); | |||
setCurrentIndex(1); | |||
Iterator<?> its = dataSet.iterator(); | |||
List<Object> tempList = new ArrayList<Object>(); | |||
@@ -226,15 +226,18 @@ public class ExcelExportServer extends BaseExportServer { | |||
CellStyle titleStyle = getExcelExportStyler().getTitleStyle(title.getColor()); | |||
for (int i = 0, exportFieldTitleSize = excelParams.size(); i < exportFieldTitleSize; i++) { | |||
ExcelExportEntity entity = excelParams.get(i); | |||
// 加入换了groupName或者结束就,就把之前的那个换行 | |||
if (StringUtils.isBlank(entity.getGroupName()) || !entity.getGroupName().equals(excelParams.get(i - 1).getGroupName())) { | |||
if(groupCellLength > 1){ | |||
sheet.addMergedRegion(new CellRangeAddress(index, index, cellIndex - groupCellLength, cellIndex - 1)); | |||
} | |||
groupCellLength = 0; | |||
} | |||
if (StringUtils.isNotBlank(entity.getGroupName())) { | |||
createStringCell(row, cellIndex, entity.getGroupName(), titleStyle, entity); | |||
createStringCell(listRow, cellIndex, entity.getName(), titleStyle, entity); | |||
groupCellLength++; | |||
} else if (StringUtils.isNotBlank(entity.getName())) { | |||
if(groupCellLength > 0){ | |||
sheet.addMergedRegion(new CellRangeAddress(index, index, cellIndex, cellIndex - groupCellLength)); | |||
groupCellLength = 0; | |||
} | |||
createStringCell(row, cellIndex, entity.getName(), titleStyle, entity); | |||
} | |||
if (entity.getList() != null) { | |||
@@ -254,7 +257,7 @@ public class ExcelExportServer extends BaseExportServer { | |||
} | |||
cellIndex++; | |||
} | |||
if(groupCellLength > 0){ | |||
if (groupCellLength > 1) { | |||
sheet.addMergedRegion(new CellRangeAddress(index, index, cellIndex - groupCellLength, cellIndex - 1)); | |||
} | |||
return rows; | |||
@@ -1,13 +1,13 @@ | |||
/** | |||
* 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 | |||
* 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 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* 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 | |||
@@ -16,6 +16,7 @@ | |||
package cn.afterturn.easypoi.excel.export.styler; | |||
import org.apache.poi.ss.usermodel.BuiltinFormats; | |||
import org.apache.poi.ss.usermodel.Cell; | |||
import org.apache.poi.ss.usermodel.CellStyle; | |||
import org.apache.poi.ss.usermodel.Workbook; | |||
@@ -24,18 +25,18 @@ import cn.afterturn.easypoi.excel.entity.params.ExcelForEachParams; | |||
/** | |||
* 抽象接口提供两个公共方法 | |||
* @author JueYue | |||
* 2015年1月9日 下午5:48:55 | |||
* | |||
* @author JueYue 2015年1月9日 下午5:48:55 | |||
*/ | |||
public abstract class AbstractExcelExportStyler implements IExcelExportStyler { | |||
//单行 | |||
protected CellStyle stringNoneStyle; | |||
protected CellStyle stringNoneWrapStyle; | |||
protected CellStyle stringNoneStyle; | |||
protected CellStyle stringNoneWrapStyle; | |||
//间隔行 | |||
protected CellStyle stringSeptailStyle; | |||
protected CellStyle stringSeptailWrapStyle; | |||
protected CellStyle stringSeptailStyle; | |||
protected CellStyle stringSeptailWrapStyle; | |||
protected Workbook workbook; | |||
protected Workbook workbook; | |||
protected static final short STRING_FORMAT = (short) BuiltinFormats.getBuiltinFormat("TEXT"); | |||
@@ -61,6 +62,11 @@ public abstract class AbstractExcelExportStyler implements IExcelExportStyler { | |||
return stringSeptailStyle; | |||
} | |||
@Override | |||
public CellStyle getStyles(Cell cell, int dataRow, ExcelExportEntity entity, Object obj, Object data) { | |||
return getStyles(dataRow % 2 == 1, entity); | |||
} | |||
public CellStyle stringNoneStyle(Workbook workbook, boolean isWarp) { | |||
return null; | |||
} | |||
@@ -69,6 +75,7 @@ public abstract class AbstractExcelExportStyler implements IExcelExportStyler { | |||
return null; | |||
} | |||
@Override | |||
public CellStyle getTemplateStyles(boolean isSingle, ExcelForEachParams excelForEachParams) { | |||
return null; | |||
@@ -1,13 +1,13 @@ | |||
/** | |||
* 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 | |||
* 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 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* 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 | |||
@@ -15,6 +15,7 @@ | |||
*/ | |||
package cn.afterturn.easypoi.excel.export.styler; | |||
import org.apache.poi.ss.usermodel.Cell; | |||
import org.apache.poi.ss.usermodel.CellStyle; | |||
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; | |||
@@ -22,38 +23,38 @@ import cn.afterturn.easypoi.excel.entity.params.ExcelForEachParams; | |||
/** | |||
* Excel导出样式接口 | |||
* @author JueYue | |||
* 2015年1月9日 下午5:32:30 | |||
* | |||
* @author JueYue 2015年1月9日 下午5:32:30 | |||
*/ | |||
public interface IExcelExportStyler { | |||
/** | |||
* 列表头样式 | |||
* @param headerColor | |||
* @return | |||
*/ | |||
public CellStyle getHeaderStyle(short headerColor); | |||
/** | |||
* 标题样式 | |||
* @param color | |||
* @return | |||
*/ | |||
public CellStyle getTitleStyle(short color); | |||
/** | |||
* 获取样式方法 | |||
* @param parity | |||
* @param entity | |||
* @return | |||
*/ | |||
@Deprecated | |||
public CellStyle getStyles(boolean parity, ExcelExportEntity entity); | |||
/** | |||
* 获取样式方法 | |||
* | |||
* @param dataRow 数据行 | |||
* @param obj 对象 | |||
* @param data 数据 | |||
*/ | |||
public CellStyle getStyles(Cell cell, int dataRow, ExcelExportEntity entity, Object obj, Object data); | |||
/** | |||
* 模板使用的样式设置 | |||
* @param isSingle | |||
* @param excelForEachParams | |||
* @return | |||
*/ | |||
public CellStyle getTemplateStyles(boolean isSingle, ExcelForEachParams excelForEachParams); | |||