Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用ApachePOI为excel中的每个工作表添加不同的颜色_Java_Excel_Apache Poi - Fatal编程技术网

Java 如何使用ApachePOI为excel中的每个工作表添加不同的颜色

Java 如何使用ApachePOI为excel中的每个工作表添加不同的颜色,java,excel,apache-poi,Java,Excel,Apache Poi,当工作簿中有多个工作表时,通常单击页面底部的工作表名称以查看该工作表。 然后我的问题是,包含表单名称的“按钮”是否可以采用蓝色、绿色等颜色 XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet = wb.createSheet(); CTColor color = CTColor.Factory.newInstance(); color.setIndexed(IndexedColors.RED.getIn

当工作簿中有多个工作表时,通常单击页面底部的工作表名称以查看该工作表。 然后我的问题是,包含表单名称的“按钮”是否可以采用蓝色、绿色等颜色

    XSSFWorkbook wb = new XSSFWorkbook(); 
    XSSFSheet sheet = wb.createSheet(); 
    CTColor color = CTColor.Factory.newInstance(); 
    color.setIndexed(IndexedColors.RED.getIndex()); 
    sheet.getCTWorksheet().getSheetPr().setTabColor(color); 
我已经试过了,但没有用

        try (XSSFWorkbook wb = new XSSFWorkbook()) {

        XSSFSheet sheet1 = wb.createSheet("1e");



        XSSFSheet sheet = wb.createSheet("1econtent");
        XSSFFont font = wb.createFont();
        font.setFontHeightInPoints((short) 15);
        font.setColor(IndexedColors.WHITE.getIndex());

        How can I add different colours sheet and sheet1 in workbook

请按以下步骤进行:

sheet.setTabColor(IndexedColors.RED.getIndex());
请查看更多详细信息

编辑:

请使用最新版本的Apache POI执行以下操作:

byte[] rgb=DefaultIndexedColorMap.getDefaultRGB(IndexedColors.RED.getIndex());
sheet.setTabColor(new XSSFColor(rgb,null));

如果我使用如下sheet.setTabColor(IndexedColors.RED.getIndex())@Arvind Kumar Avinash,仍然会出现错误:这是否正确取决于apache poi的版本。在版本
3.16
之前,存在
public void setTabColor(int colorIndex)
,并且
colorIndex
可以是
IndexedColors.RED.getIndex()
。但在版本
3.17
中删除了该选项。现在在当前版本中,只有
公共void setTabColor(XSSFColor color)
。因此,这里必须使用
XSSFColor
作为参数。错误是:类型XSSFSheet中的方法setTabColor(XSSFColor)不适用于参数(短),即使我尝试了类似sheet.setTabColor(0);不再使用指定的相同错误有人能帮我吗