easyexcel读取字体颜色
时间: 2023-10-18 14:59:57 浏览: 193
你可以使用 EasyExcel 库来读取 Excel 文件中的字体颜色。下面是一个示例代码,演示如何使用 EasyExcel 读取 Excel 文件中的字体颜色:
```java
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.read.metadata.ReadSheet;
import com.alibaba.excel.read.metadata.holder.ReadRowHolder;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Workbook;
import java.util.Map;
public class FontColorReader {
public static void main(String[] args) {
String fileName = "path/to/your/excel/file.xlsx";
AnalysisEventListener<Map<Integer, String>> listener = new AnalysisEventListener<Map<Integer, String>>() {
@Override
public void invoke(Map<Integer, String> rowData, AnalysisContext context) {
ReadRowHolder readRowHolder = context.readRowHolder();
Workbook workbook = readRowHolder.getWorkbook();
ReadSheet readSheet = readRowHolder.getReadSheet();
for (Map.Entry<Integer, String> entry : rowData.entrySet()) {
Integer columnIndex = entry.getKey();
String cellValue = entry.getValue();
CellStyle cellStyle = workbook.getSheet(readSheet.getSheetNo())
.getRow(readRowHolder.getRowIndex())
.getCell(columnIndex)
.getCellStyle();
short fontColorIndex = cellStyle.getFontIndex();
Font font = workbook.getFontAt(fontColorIndex);
short colorIndex = font.getColor();
if (colorIndex == IndexedColors.AUTOMATIC.getIndex()) {
// 字体颜色为自动,即默认颜色
System.out.println("Cell (" + readRowHolder.getRowIndex() + ", " + columnIndex + "): " + cellValue);
System.out.println("Font color: Default");
} else {
IndexedColors fontColor = IndexedColors.fromIndex(colorIndex);
System.out.println("Cell (" + readRowHolder.getRowIndex() + ", " + columnIndex + "): " + cellValue);
System.out.println("Font color: " + fontColor.name());
}
}
}
@Override
public void doAfterAllAnalys
阅读全文