我想比较两个excel文件单元格样式。通过使用 apache poi 我如何逐个单元地比较样式? 而且我还需要哪种风格不匹配,比如对齐或粗体或颜色......等等。这意味着不匹配的样式应该是一个字符串(样式名称 - 对齐,颜色....)
答案 0 :(得分:1)
使用Cell.getCellStyle(),您可以找到每个单元格的样式。有了它,您可以检查细粒度CellStyle设置。
答案 1 :(得分:0)
你可以这样做:
sheet.getRow(0).getCell(0).getCellStyle().getCoreXf();
getCoreXf()方法返回:
<xml-fragment numFmtId="14" fontId="0" fillId="2" borderId="0" xfId="0" applyNumberFormat="1" applyFill="1" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"/>
示例代码(比较两个单元格的样式):
FileInputStream file = new FileInputStream(new File("res/Book1.xlsx"));
//Get the workbook instance for XLS file
XSSFWorkbook workbook = new XSSFWorkbook (file);
//Get first sheet from the workbook
XSSFSheet sheet = workbook.getSheetAt(0);
CTXf style1 = sheet.getRow(0).getCell(0).getCellStyle().getCoreXf();
CTXf style2 = sheet.getRow(0).getCell(1).getCellStyle().getCoreXf();
System.out.println(style1);
System.out.println(style1.equals(style2)); //true if both are same and false if they are different
这似乎工作正常。请试试!