Java之excel操作
介绍一下hutool的工具类excel的操作:
通过ExcelUtil获取到对excel操作的ExcelWiter
ExcelWriter writer = ExcelUtil.getWriter(true);
writeAndBuildStyle(writer, data, columnList, builder);
writer.flush(outputStream);
writer.close();
private static <T> void writeAndBuildStyle(ExcelWriter writer, List<T> data, List<String> columnList, ExcelStyleBuilder builder) {
if (builder != null){
builder.beforeSetStyle(writer);
}
List<String> headList = fillWriter(writer, data, columnList);
if (builder != null){
builder.afterSetStyle(writer, headList);
}
}
1.新建一个build自定义execl的格式,不侵入代码
public interface ExcelStyleBuilder {
/**
* 在数据写入前设置样式
* @param writer ExcelWriter
*/
void beforeSetStyle(ExcelWriter writer);
/**
* 在数据写入后设置样式
* @param writer ExcelWriter
* @param headList 表头
*/
void afterSetStyle(ExcelWriter writer, List<String> headList);
}
poi 设置颜色
3.设置列宽和行高
在excel中和Java中的单位是不一致的 列宽使用的short类型可以做到和excel表示一致,但是在行高的表示是不一致的
// 设置表头高度
Sheet sheet = writer.getSheet();
// 设置默认列宽
sheet.setDefaultColumnWidth(12);
sheet.setDefaultRowHeight((short) (28 *20));
// 冻结首行
sheet.createFreezePane(0, 1, 0, 1);
//设置自动换行
cellStyle.setWrapText(true);
评论区