java - 如何更改具有特定值的单元格的颜色?
问题描述
我有一个 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();
}
}
}
如果单元格具有“单元格数据匹配”值,则这些单元格应为红色。
解决方案
推荐阅读
- python - 为什么有些气象站坐标在尼日利亚边界之外?
- java - ImageView 动画翻译
- python - 在 Python 中将图像分配给 pandas 数据框的元素
- html - 如何修复 Vue.js 和 Spring Boot 应用程序中的 CORS 错误
- python-3.x - 创建一个所有元素最初设置为“无”的二维数组
- javascript - 为每个 @foreach 创建自己的脚本函数
- css - HostBinding 未绑定到 CSS 变量
- asp.net-mvc - Azure AD B2C 登录/设置有问题
- android-studio - 在 Android Studio 运行配置中更改检测类
- msbuild - MSBuild 选择部分 RecursiveDir