java如何实现用POI输出Excel的时候,设置背景n行有色,n行无色,按顺序循环下去,怎么搞呢?

如图,样例... 如图,样例 展开
 我来答
折柳成萌
高粉答主

2019-10-25 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:6259万
展开全部
使用 poi ,具体实现
HSSFCellStyle style = null;
// 创建表头style
HSSFCellStyle cellStyleTitle = workbook.createCellStyle();
cellStyleTitle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); // 填充单元格
cellStyleTitle.setFillForegroundColor(HSSFColor.YELLOW.index);
cellStyleTitle.setAlignment(HSSFCellStyle.ALIGN_CENTER);// //居中显示

HSSFRow titleRow = sheet.createRow(0);
for (int i = 0; i < titles.length; i++) {
HSSFCell cell = titleRow.createCell(i);
// cell.setCellStyle(createCellColorStyle(workbook));
cell.setCellStyle(cellStyleTitle);
cell.setCellValue(titles[i]);// 给单元格赋值
}
匿名用户
2020-08-18
展开全部

问题解决了吗?我这里可以给你推荐个免费组件Spire.XLS for Java,它可以利用条件格式给Excel工作表的行设置交替背景色。下面代码是以给奇数行和偶数行设置为例。

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\\Jack\\Desktop\\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("output/AlternateColor.xlsx", ExcelVersion.Version2016);

 }

}

设置效果:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式