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

如图,样例

使用 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]);// 给单元格赋值
}
温馨提示:内容为网友见解,仅供参考
第1个回答  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);

 }

}

设置效果:

Java如何设置被导出excel单元格的样式?比如背景色,大小什么的?
使用poi,具体实现\\x0d\\x0aHSSFCellStylestyle=null;\\x0d\\x0a\/\/创建表头style\\x0d\\x0aHSSFCellStylecellStyleTitle=workbook.createCellStyle();\\x0d\\x0acellStyleTitle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);\/\/填充单元格\\x0d\\x0acellStyleTitle.setFillForegroundColor(HSSFColor.YE...

java poi excel 怎样循环输出第一列列
public void getExcel() { try { Workbook booka = Workbook.getWorkbook(new File("E:12301.xls"));\/\/得到要输出的excel Sheet sheeta = booka.getSheet(0);\/\/获取第一个sheet int b = sheeta.getRows();\/\/获取总行数 for (int i = 0; i < b; i++) { Cell cell1 = sheeta.g...

使用POI技术实现excel文件的导入,亲测有效!
实现思路:通过创建web项目,导入POI相关jar依赖,准备学生信息的excel文件,创建数据库并表,设计实体类,实现Servlet、Service与DAO层。具体步骤包括:创建并准备学生信息excel文件配置web项目,导入POI核心依赖创建数据库与学生表设计Student实体类编写StudentServlet实现StudentService创建StudentDao效果展示:导入成...

java 使用POI导出excel模板,如何限制某列的显示格式为文本?比如输入身 ...
你好,设置单元格类型只能针对一个具体的单元格Cell,没有针对一行Row的直接处理 对Cell设置单元格类型方法如下,cell.setCellType(Cell.CELL_TYPE_STRING);

Java poi导入excel 怎么设置进度条 源码
token标签的实现原理是在表单中拉架一个隐藏域,每次加载该页面时,该隐藏域的值都不相同。而TokenInterceptor拦截器则拦截所有用户请求,如果两次请求时该隐藏域的值相同,则阻止表单提交。然后需要你自己写一个拦截器,拦截错误信息,拦截下来之后给出的提示语句就可以你自己定了比如“当前页面正在提交过程中...

java 中用POI导出Excel时,怎么设置条件格式-->数据条?
POI里可能没有这个机能。不过你可以这样做。把带有这个格式的Excel文件,做为模板。每次把模板文件读进来,把自己要输出的数据填到对应的单元格里。之后,把填完数据的Excel文件,保存到指定路径里。或者从浏览器里弹出。

用JAVA如何取得EXCEL 中指定的几行的数据?
可以使用poi来解析excel:\/\/获取指定行,索引从0开始 hssfRow=hssfSheet.getRow(1);\/\/获取总行数,获取的是最后一行的编号(编号从0开始)int rowNum = sheet.getLastRowNum();然后拿到excel对象循环解析从50开始到100即可。

java 操作poi 导出excel 多个sheet
\/\/往单元格里面写入值 cell.setCellValue(handers[i]);}\/\/写数据集\/\/假定数据集是list集合for (int i = 0;i < list.size; i++) { \/\/获取list里面存在是数据集对象 Object obj = list.get(i); \/\/创建数据行 HSSFRow row = sheet.createRow(i+1); \/\/设置对应单元...

poi设置自动换行_poi设置单元格自动换行
1、打开需要操作的EXCEL表格,在需要设置的单元格上点击鼠标右键,选择“设置单元格格式”。2、在对齐标签页找到“文本控制”,勾选“自动换行”,然后点击下面的确定按钮即可。3、返回EXCEL表格,可发现已成功设置自动换行。8. 如何让单元格自动换行 1.输入数据随时换行 用户若要在输入数据时换行,只要...

java poi 一个单元格写如多行数据
必然会用到for循环 POI 提供你怎么插入单元格的 你就把你查询出来的 东西放里面就行了 你想多插点 没问题啊 拼嘛 case 0 : ws.addCell(new Label(x, z+1,Sensing.getSampleNameForId(checkData.getSampleId()));这是JXL 处理单元格时候用到的 看不懂没关系 意思懂就好 。

相似回答