我有要求,我必须阅读并验证excel文件并插入数据库,最初我正在读取文件并将其插入数据库,如果数据已经存在于数据库中,我将返回行和列号从数据库中复制,我需要根据行号和列号更改这些单元格的颜色。
任何人都可以帮我解决这个问题。或者可以建议如何读取/写入和验证excel文件,(在某种意义上验证我需要将excel文件中的数据与数据库中的数据进行比较)。
目前我正在使用apache poi
答案 0 :(得分:1)
这个答案适用于.xls;不过,xlsx的API非常相似。 读取Excel文件很简单,打开文件的FileInputstream,然后创建HSSFWorkbook
HSSFWorkbook workbook = new HSSFWorkbook(inputStream);
要更改某些单元格的颜色,首先必须创建一个具有此颜色的样式(更改单元格的样式也会更改其他一些属性,如字体等,因此这里的内容可能会有些混乱,但这就是excel的工作方式)
colorStyle = workbook.createCellStyle();
colorStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
colorStyle.setFillForegroundColor(HSSFColor.RED.index);
现在你必须遍历所有工作簿中的行,识别重复项,并更改这些单元格的样式:
cell.setCellStyle(colorStyle);
最后,通过FileOutputStream
将工作簿写入新文件workbook.write(outputStream);