I18nCellWriteHandler.java
1.4 KB
package com.neotel.webbox.util;
import com.alibaba.excel.metadata.Head;
import com.alibaba.excel.write.handler.CellWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.poi.ss.usermodel.Row;
import java.util.ArrayList;
import java.util.List;
public class I18nCellWriteHandler implements CellWriteHandler {
@Override
public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Head head, Integer columnIndex, Integer relativeRowIndex, Boolean isHead) {
if (isHead) {
List<String> originHeadNames = head.getHeadNameList();
List<String> newHeadNameList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(originHeadNames)) {
for (String originHeadName : originHeadNames) {
String headName = originHeadName;
if(originHeadName.startsWith("$")){
//需要进行转换
headName = originHeadName;
}
newHeadNameList.add(headName);
}
head.setHeadNameList(newHeadNameList);
}
}
CellWriteHandler.super.beforeCellCreate(writeSheetHolder, writeTableHolder, row, head, columnIndex, relativeRowIndex, isHead);
}
}