首页 > 代码库 > POI获取excel单元格红色字体,淡蓝色前景色的内容
POI获取excel单元格红色字体,淡蓝色前景色的内容
如果是Microsoft Excel 97-2003 工作表 (.xls)
if(31 == cell.getCellStyle().getFillForegroundColor()) //判断单元格前景色为淡蓝色if(10 == book.getFontAt(cell.getCellStyle().getFontIndex()).getColor()) //判断单元格字体颜色为红色
如果是Microsoft Excel 工作表 (.xlsx)
if(0 == cell.getCellStyle().getFillForegroundColor()) //判断单元格前景色为淡蓝色if(0 == book.getFontAt(cell.getCellStyle().getFontIndex()).getColor()) //判断单元格字体颜色为红色
具体的java示例代码如下:
1 import java.io.FileInputStream; 2 import java.io.FileNotFoundException; 3 import java.io.IOException; 4 import org.apache.poi.hssf.usermodel.HSSFWorkbook; 5 import org.apache.poi.ss.usermodel.Cell; 6 import org.apache.poi.ss.usermodel.DataFormatter; 7 import org.apache.poi.ss.usermodel.Row; 8 import org.apache.poi.ss.usermodel.Sheet; 9 import org.apache.poi.ss.usermodel.Workbook;10 import org.apache.poi.xssf.usermodel.XSSFWorkbook;11 12 public class TestExcel {13 private static final DataFormatter FORMATTER = new DataFormatter();14 15 /**16 * 获取单元格内容17 * 18 * @param cell19 * 单元格对象20 * @return 转化为字符串的单元格内容21 */22 private static String getCellContent(Cell cell) {23 return FORMATTER.formatCellValue(cell);24 }25 26 private static String getExcelValue(String filePath, int sheetIndex) {27 String valuehttp://www.mamicode.com/= "";28 try {29 // 创建对Excel工作簿文件30 Workbook book = null;31 try {32 book = new XSSFWorkbook(new FileInputStream(filePath));33 } catch (Exception ex) {34 book = new HSSFWorkbook(new FileInputStream(filePath));35 }36 37 Sheet sheet = book.getSheetAt(sheetIndex);38 // 获取到Excel文件中的所有行数39 int rows = sheet.getPhysicalNumberOfRows();40 // System.out.println("rows:" + rows);41 // 遍历行42 43 for (int i = 0; i < rows; i++) {44 // 读取左上端单元格45 Row row = sheet.getRow(i);46 // 行不为空47 if (row != null) {48 // 获取到Excel文件中的所有的列49 int cells = row.getPhysicalNumberOfCells();50 // System.out.println("cells:" + cells);51 52 // 遍历列53 for (int j = 0; j < cells; j++) {54 // 获取到列的值55 Cell cell = row.getCell(j);56 if (cell != null) {57 // if (31 ==58 // cell.getCellStyle().getFillForegroundColor() &&59 // 10 ==60 // book.getFontAt(cell.getCellStyle().getFontIndex()).getColor())61 if (0 == cell.getCellStyle().getFillForegroundColor() 62 && 0 == book.getFontAt(cell.getCellStyle().getFontIndex()).getColor())63 value += "第" + (i + 1) + "行 第" + (j + 1) + "列 的内容是: " + getCellContent(cell) + ",";64 }65 }66 67 }68 }69 } catch (FileNotFoundException e) {70 e.printStackTrace();71 } catch (IOException e) {72 e.printStackTrace();73 }74 75 return value;76 77 }78 79 public static void main(String[] args) {80 81 String filePath = "F://example.xls";82 int sheetIndex = 0;83 84 String[] val = getExcelValue(filePath, sheetIndex).split(",");85 for (int i = 0; i < val.length; i++) {86 System.out.println(val[i]);87 }88 }89 }
POI获取excel单元格红色字体,淡蓝色前景色的内容
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。