如何使用apache poi检查.xlsx文件中的单元格文本是否有删除线

How to check a cell text is strikethrough or not in .xlsx file using apache poi

我需要检查 .xlsx 文件(Microsoft Excel 文件)中单元格的文本格式是 删除线 或不使用 Apache POI 库。

看下图

Please Check this image !

我需要检查 B3 单元格文本是否划线

不确定您是如何获得对它的引用的,但是 HSSFont.getStrikeout() and XSSFFont.getStrikeout()

像这样:

  1. 使用 XSSFCell#getRichStringCellValue()
  2. 从单元格中获取 XSSFRichTextString
  3. 使用XSSFRichTextString#getFontAtIndex(int index)
  4. 获取特定位置的XSSFFont
  5. 使用XSSFFont#getStrikeout()
  6. 检查字体

终于找到方法了,代码如下

//Using workbook
XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(new File("abc.xlsx")));
//Getting first sheet
XSSFSheet sheet = workbook.getSheetAt(0);
//Checking A1 cell that strikethrough or not
boolean strikeOutStatus=sheet.getRow(0).getCell(0).getCellStyle().getFont().getStrikeout();
System.out.println(strikeOutStatus);