jxl怎样使用自定义颜色设置单元格颜色DevNote
发布网友
发布时间:2023-06-25 06:23
我来回答
共1个回答
热心网友
时间:2024-11-02 21:50
xl在Java开源世界中比较有影响力的操作Excel的API工具,使用也很广泛。但是jxl组件中没有提供直接自定义RGB颜色的方法。我们可以通过重置jxl中默认的颜色常量,实现自定义颜色的功能。
代码如下:
import java.awt.Color;
import java.io.File;
import java.io.IOException;
import jxl.Workbook;
import jxl.format.Colour;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
public class TestJXLColor {
public static void main(String[] args) {
try {
WritableWorkbook workbook = Workbook.createWorkbook(new File(
"d:\\test-color.xls"));
WritableSheet sheet = workbook.createSheet("测试文字", 0);
// 方法一: 使用jxl默认颜色
WritableFont font = new WritableFont(WritableFont.createFont("宋体"),
10, WritableFont.NO_BOLD);// 字体样式
WritableCellFormat wcf = new WritableCellFormat(font);
wcf.setBackground(Colour.BLUE_GREY);
sheet.addCell(new Label(1, 1, "测试颜色---BLUE_GREY", wcf));
// 方法二:设置自定义颜色,通过java.awt.Color中decode方法提取16进制颜色值
Color color = Color.decode("#EEA9B8"); // 自定义的颜色
workbook.setColourRGB(Colour.ORANGE, color.getRed(),
color.getGreen(), color.getBlue());
WritableCellFormat wcf1 = new WritableCellFormat(font);// 单元格样式
wcf1.setBackground(Colour.ORANGE);
sheet.addCell(new Label(1, 2, "测试颜色---自定义#EEA9B8", wcf1));
// 方法三:设置自定义颜色,按红、绿、蓝的16进制值直接定义颜色值。
workbook.setColourRGB(Colour.LIGHT_BLUE, 0x76, 0xEE, 0x00);
WritableCellFormat wcf2 = new WritableCellFormat(font);// 单元格样式