easyexcel设置居中对齐
时间: 2025-05-24 20:17:26 浏览: 81
### 使用 EasyExcel 设置单元格文本居中对齐
为了实现单元格内容的居中对齐,在使用 EasyExcel 进行数据导出时,可以通过自定义样式来完成这一需求。具体来说,可以利用 `WriteCellStyle` 和 `HorizontalAlign` 来控制水平方向上的对齐方式。
下面是一个完整的 Java 方法示例,展示了如何配置 EasyExcel 的写入器以确保所有单元格中的文字都处于中心位置:
```java
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.style.AbstractCellWriteHandler;
import org.apache.poi.ss.usermodel.*;
import java.util.ArrayList;
import java.util.List;
public class CenterAlignmentExample {
private static final String FILE_PATH = "center_alignment_example.xlsx";
public static void main(String[] args) {
List<List<String>> data = new ArrayList<>();
for (int i = 0; i < 10; i++) {
List<String> row = new ArrayList<>();
row.add("Item-" + i);
row.add("Description-" + i);
row.add("$" + Math.random() * 1000);
data.add(row);
}
// 创建一个 WriteHandler 实现类用于处理每一列的样式
AbstractCellWriteHandler cellStyleWriteHandler = new AbstractCellWriteHandler() {
@Override
protected void afterCellDispose(WriteSheetHolder writeSheetHolder, List<CellData> cellDataList,
Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {
Workbook workbook = writeSheetHolder.getSheet().getWorkbook();
CellStyle style = workbook.createCellStyle();
Font font = workbook.createFont();
style.setFont(font);
// 设置水平居中
style.setAlignment(HorizontalAlignment.CENTER);
// 应用到当前单元格上
cell.setCellStyle(style);
}
};
// 执行导出操作
EasyExcel.write(FILE_PATH).sheet("Center Alignment").registerWriteHandler(cellStyleWriteHandler)
.doWrite(data);
}
}
```
上述代码创建了一个名为 `CenterAlignmentExample.java` 的程序文件[^2]。该程序通过继承 `AbstractCellWriteHandler` 类来自定义单元格处理器,并重写了其方法以便能够修改每一个被写出的数据项对应的 Excel 单元格属性。特别地,在此例子中设置了所有的文本均为水平居中显示。
#### 注意事项
- 需要导入相应的依赖库,如 Apache POI 及 Alibaba EasyExcel。
- 如果希望垂直也保持居中,则可以在设置完水平居中之后再加入一行代码:`style.setVerticalAlignment(VerticalAlignment.CENTER)`[^3]。
阅读全文
相关推荐



















