导出excel 时设置背景颜色

package com.sjdf.erp.web.test;

import static org.junit.Assert.*;

import java.io.File;
import java.io.FileOutputStream;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFPalette;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.FillPatternType;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFColor;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.junit.Test;


/**
 * create in 2019年03月06日
 * @category TODO
 * @author chenyi
 */
public class ExcelColorTest {

    @Test
    public void excelColorTest() throws Exception {
        SXSSFWorkbook workbook = new SXSSFWorkbook();
         
        Sheet sheet = workbook.createSheet("Color Test");
        Row row = sheet.createRow(0);

        XSSFCellStyle style = (XSSFCellStyle)workbook.createCellStyle();
//        style.setFillForegroundColor(IndexedColors.GREEN.getIndex());
        XSSFColor color = new XSSFColor(new java.awt.Color(111, 111, 111));
        style.setFillForegroundColor(color);
        style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
        

        Font font = workbook.createFont();
            font.setColor(IndexedColors.BLACK.getIndex());
            style.setFont(font);
        
        Cell cell1 = row.createCell(0);
        cell1.setCellValue("ID");
        cell1.setCellStyle(style);
        
        Cell cell2 = row.createCell(1);
        cell2.setCellValue("NAME");
        cell2.setCellStyle(style);

        String pathname = "D:\\git\\erp\\erp-web\\src\\test\\java\\com\\sjdf\\erp\\web\\test\\" + "cp.xlsx";
        FileOutputStream fos =new FileOutputStream(new File( pathname));
        workbook.write(fos);
        fos.close();
        System.out.println(pathname + "Done");
    }

    @Test
    public void excelColor2Test() throws Exception {
        HSSFWorkbook  workbook = new HSSFWorkbook();
        Sheet sheet = workbook.createSheet("Color Test");
        Row row = sheet.createRow(0);

        HSSFPalette palette = workbook.getCustomPalette();
        palette.setColorAtIndex(HSSFColor.LAVENDER.index, (byte)111, (byte)111, (byte)111);
        HSSFColor hssfColor = palette.getColor(HSSFColor.LAVENDER.index);
        HSSFCellStyle style = workbook.createCellStyle();
        style.setFillForegroundColor(hssfColor.getIndex());
        style.setFillPattern(CellStyle.SOLID_FOREGROUND);

        Font font = workbook.createFont();
        font.setColor(IndexedColors.BLACK.getIndex());
        style.setFont(font);
        
        Cell cell1 = row.createCell(0);
        cell1.setCellValue("ID");
        cell1.setCellStyle(style);

        String pathname = "D:\\git\\erp\\erp-web\\src\\test\\java\\com\\sjdf\\erp\\web\\test\\" + "cp1.xls";
        FileOutputStream fos =new FileOutputStream(new File( pathname));
        workbook.write(fos);
        fos.close();
        System.out.println(pathname + "Done");
    }

}

 

posted on 2019-03-20 10:27  钉子His  阅读(1405)  评论(0编辑  收藏  举报

导航