使用EasyExcel导出数据时表头是竖的,可以通过以下方法解决:设置纵向表头属性: EasyExcel.write(file, Excel.class).head(竖向表头数据).build();使用自定义导出格式转换器ValueConverter,将水平表头值转换为竖向表头值: .registerConverter(new VerticalHeaderValueConverter())设置单元格旋转角度,将表头单元格旋转为90度: cellStyle.setRotation((short)

EasyExcel动态表头导出:表头是竖的解决办法
问题:使用EasyExcel导出数据时,表头是竖的,如何解决?
解决办法:
<code class="java">EasyExcel.write(file, Excel.class).head(竖向表头数据).build();</code>
<code class="java">import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.alibaba.excel.util.StyleUtil;
import org.apache.poi.ss.usermodel.*;
public class VerticalHeaderValueConverter implements Converter<String> {
@Override
public CellDataTypeEnum supportExcelType() {
return CellDataTypeEnum.STRING;
}
@Override
public String convertToExcelValue(String value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
// 将水平表头值转换为竖向表头值
return value.replaceAll(",", "\n");
}
@Override
public String convertFromExcelValue(String value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
return value;
}
}
</code>然后在导出代码中应用自定义转换器:
<code class="java">EasyExcel.write(file, Excel.class).head(竖向表头数据)
.registerConverter(new VerticalHeaderValueConverter())
.build();</code><code class="java">Workbook workbook = EasyExcel.write(file).build(); Sheet sheet = workbook.getSheetAt(0); // 设置第一列表头单元格旋转角度为90度 Cell cell = sheet.getRow(0).getCell(0); CellStyle cellStyle = cell.getCellStyle(); cellStyle.setRotation((short) 90); cell.setCellStyle(cellStyle);</code>
创建 Excel 模板,将表头设置成竖向,然后使用 EasyExcel 的模板导出功能:
<code class="java">EasyExcel.write(file, Excel.class).withTemplate("模板文件路径").build();</code>通过以上方法,即可解决 EasyExcel 动态表头导出时表头是竖的问题。
以上就是easyexcel动态表头导出,表头是竖的解决办法的详细内容,更多请关注php中文网其它相关文章!
全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号