如何在java

时间:2015-04-30 07:01:21

标签: java excel apache-poi xls xlsx

我有要求,我必须阅读并验证excel文件并插入数据库,最初我正在读取文件并将其插入数据库,如果数据已经存在于数据库中,我将返回行和列号从数据库中复制,我需要根据行号和列号更改这些单元格的颜色。

任何人都可以帮我解决这个问题。或者可以建议如何读取/写入和验证excel文件,(在某种意义上验证我需要将excel文件中的数据与数据库中的数据进行比较)。

目前我正在使用apache poi

1 个答案:

答案 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);