用Java设置Excel背景色?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Java设置Excel背景色?相关的知识,希望对你有一定的参考价值。

Excel表格中原本就有背景色,但是Java中一赋值就会把背景色覆盖,怎么让背景色不覆盖,还是原本的背景色?

excel表格的样式都是通过创建cellstyle实现的,HSSFCellStyle cellStyle =workbook.createCellStyle();
设置背景色的代码cellStyle.setFillBackgroundColor(HSSFColor.LIGHT_YELLOW.index);
再将想要设置背景色的单元格cell.setStyle(cellStyle);
参考技术A 不能设置单元格样式嘛?或者先获取原来格子的样式保存起来,赋完值后再把样式复制过去,本回答被提问者采纳

Java 为 Excel 中的行设置交替背景色

在制作Excel表格时,通过数据表中上下相邻的两行用不同的背景色填充,可以使各行的数据看起来更清楚,避免看错行,同时也能增加Excel格的美观度本文介绍如何Java程序中 Excel 奇数行和偶数行设置交替背景色。

 

使用工具Free Spire.XLS for Java 免费版

 

Jar文件导入方法

方法一:

下载最新的Free Spire.XLS for Java包并解压缩然后从lib文件夹下,Spire.Xls.jar包导入到你的Java应用程序中。导入成功如下图所示

 

 

 

方法二:

通过Maven仓库安装导入详细的操作步骤请参考链接https://www.e-iceblue.cn/licensing/install-spirepdf-for-java-from-maven-repository.html

 

 

Java代码示例

 

import com.spire.xls.*;

import java.awt.*;

public class ConditionalFormatting {

    public static void main(String[] args) {

        //创建Workbook对象
        Workbook workbook = new Workbook();

        //加载一个Excel文档
        workbook.loadFromFile("C:\\\\Users\\\\Administrator\\\\IdeaProjects\\\\XLS\\\\sample.xlsx");

        //获取一个工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //获取有数据的区域
        CellRange dataRange = sheet.getAllocatedRange();

        //使用条件格式将偶数行的背景色设为浅灰色
        ConditionalFormatWrapper format1 = dataRange.getConditionalFormats().addCondition();
        format1.setFirstFormula("=MOD(ROW(),2)=0");
        format1.setFormatType(ConditionalFormatType.Formula);
        format1.setBackColor(Color.lightGray);

        //使用条件格式将奇数行的背景色设为黄色
        ConditionalFormatWrapper format2 = dataRange.getConditionalFormats().addCondition();
        format2.setFirstFormula("=MOD(ROW(),2)=1");
        format2.setFormatType(ConditionalFormatType.Formula);
        format2.setBackColor(Color.yellow);

        //保存文档
        workbook.saveToFile("交替背景色.xlsx", ExcelVersion.Version2016);
    }
}

 

交替背景色效果图:

 

 

以上是关于用Java设置Excel背景色?的主要内容,如果未能解决你的问题,请参考以下文章

java汇中如何修改excel单元格的背景色

excel 在下拉时,如何使单元格背景色不变?

Excel对比数据 两列数据,如何将相同的数值的背景色设置成相同的。

excel表格怎样将每一行的背景色深浅改成不同

NPOI之Excel——设置单元格背景色

如何在EXCEL中填充背景色,输入内容后自动转成其他颜色