首页 > 解决方案 > 如何更改具有特定值的单元格的颜色?

问题描述

我有一个 java 代码,它比较 2 个 excel 表并在一个新的 excel 表中生成结果。我必须修改代码,只要单元格的值是“单元格数据匹配”,单元格颜色就应该是红色。请帮我做这件事。TIA

        public static void main(String[] args) throws Exception {


        Scanner in = new Scanner(System.in); 
        System.out.print("Enter Sheet1 path: ");
        String name1 = in.nextLine();
        System.out.print("Enter Sheet2 path: ");
        String name2 = in.nextLine();
        FileInputStream file1 = new FileInputStream(new File(name1));
        FileInputStream file2 = new FileInputStream(new File(name2));

        Path p = Paths.get(name1);
        String filenameTOExempt = p.getFileName().toString();
        String fileAbsolutePath = p.toAbsolutePath().toString();
       String filePath = fileAbsolutePath.replace(filenameTOExempt, "");

        // Creating an Empty WorkBook
        XSSFWorkbook resultSheet = new XSSFWorkbook(); 
        // Create a blank sheet 
        XSSFSheet sheet = resultSheet.createSheet("Comparison Results"); 

        // This data needs to be written (Object[]) 
        Map<String, Object[]> data = new TreeMap<String, Object[]>(); 
        int n = 1;

        try (Workbook wb1 = WorkbookFactory.create(file1)) {
            try (Workbook wb2 = WorkbookFactory.create(file2)) {
                for (String d : ExcelComparator.compare(wb1, wb2)) {
                    // Finding the index of : in order to seperate the Result from d
                    String num = Integer.toString(n);
                    int iend = d.indexOf(":");
                    String res = d.substring(0, iend);
                    res = res.trim();

                    String data1 = StringUtils.substringBetween(d, "[", "]");

                    d = d.replace("["+data1+"]", "");

                    String data2 = StringUtils.substringBetween(d, "[", "]");

                    data.put(num, new Object[]{ data1, data2, res }); 
                    n++;
                   in.close(); 
                   file1.close();
                   file2.close();
                }
            }
        }

如果单元格具有“单元格数据匹配”值,则这些单元格应为红色。

标签: javaexcelapache-poi

解决方案


推荐阅读