使用Java中的POI获取Excel单元格背景颜色不匹配

时间:2013-04-14 03:40:21

标签: java excel colors apache-poi

我正在将Excel表格转换为HTML。 我在Java中使用POI来获取xls工作簿中的单元格颜色。 问题是颜色不匹配:在Excel中我有RGB值242,220和219,但是当我使用POI得到它们时我得到RGB(255,153,204)。

有关如何获得确切颜色的任何想法吗?

  HSSFCellStyle cs = (HSSFCellStyle) style;
    out.format("  /* fill pattern = %d */%n", cs.getFillPattern());
    styleColorback(out, "background-color", cs.getFillForegroundColorColor())

 private void styleColorback(Formatter out, String attr, HSSFColor color) {
   short[] rgb = color.getTriplet();
   out.format("  %s: #%02x%02x%02x; ", attr, rgb[0], rgb[1], rgb[2]);
 }

1 个答案:

答案 0 :(得分:0)

我认为由于Excel 2003调色板仅包含56种颜色,因此无法获得单元格的确切颜色。 我发现获得确切颜色的独特方式是,当您在excel的选项中将Excel格式保存为.xls,然后在保存菜单中,我们可以更改所需颜色的调色板颜色。