- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正如您从标题中可以理解的那样,在第 41 行之后,即使通过调试我看到代码运行良好,我的风格也不适用。
我的功能是:
private void writeTable(Table table,Row row,Workbook wb){
CellStyle cellStyle = wb.createCellStyle();
if(row.getRowNum() % 2 == 0) {
cellStyle.setFillForegroundColor(IndexedColors.LIGHT_TURQUOISE.getIndex());
cellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
cellStyle.setBorderTop(CellStyle.BORDER_THIN);
cellStyle.setWrapText(true);
cellStyle.setTopBorderColor(IndexedColors.GREY_80_PERCENT.getIndex());
cellStyle.setBorderBottom(CellStyle.BORDER_THIN);
cellStyle.setBottomBorderColor(IndexedColors.GREY_80_PERCENT.getIndex());
cellStyle.setBorderRight(CellStyle.BORDER_THIN);
cellStyle.setRightBorderColor(IndexedColors.GREY_80_PERCENT.getIndex());
cellStyle.setBorderLeft(CellStyle.BORDER_THIN);
cellStyle.setLeftBorderColor(IndexedColors.GREY_80_PERCENT.getIndex());
}else{
cellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex());
cellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
cellStyle.setBorderTop(CellStyle.BORDER_THIN);
cellStyle.setWrapText(true);
cellStyle.setTopBorderColor(IndexedColors.GREY_80_PERCENT.getIndex());
cellStyle.setBorderBottom(CellStyle.BORDER_THIN);
cellStyle.setBottomBorderColor(IndexedColors.GREY_80_PERCENT.getIndex());
cellStyle.setBorderRight(CellStyle.BORDER_THIN);
cellStyle.setRightBorderColor(IndexedColors.GREY_80_PERCENT.getIndex());
cellStyle.setBorderLeft(CellStyle.BORDER_THIN);
cellStyle.setLeftBorderColor(IndexedColors.GREY_80_PERCENT.getIndex());
}
Cell cell = row.createCell(0);
cell.setCellValue(Table.index);
cell.setCellStyle(cellStyle);
cell = row.createCell(1);
cell.setCellValue(strCorrecter(Table.Name).isEmpty() ? "-" : strCorrecter(Table.Name));
cell.setCellStyle(cellStyle);
cell = row.createCell(2);
cell.setCellValue(strCorrecter(Table.Surname.toString()).isEmpty() ? "-" : strCorrecter(Table.Surname.toString()));
cell.setCellStyle(cellStyle);
cell = row.createCell(3);
cell.setCellValue("TODO");
cell.setCellStyle(cellStyle);
cell = row.createCell(4);
cell.setCellValue(strCorrecter(Table.Age.toString()).isEmpty() ? "-" : strCorrecter(Table.Age.toString()));
cell.setCellStyle(cellStyle);
cell = row.createCell(5);
cell.setCellValue("TODO");
cell.setCellStyle(cellStyle);
cell =row.createCell(6);
cell.setCellValue("TODO");
cell.setCellStyle(cellStyle);
cell = row.createCell(7);
cell.setCellValue("TODO");
cell.setCellStyle(cellStyle);
cell = row.createCell(8);
cell.setCellValue("TODO");
cell.setCellStyle(cellStyle);
cell = row.createCell(9);
cell.setCellValue("TODO");
cell.setCellStyle(cellStyle);
cell = row.createCell(10);
cell.setCellValue("TODO");
cell.setCellStyle(cellStyle);
cell = row.createCell(11);
cell.setCellValue("TODO");
cell.setCellStyle(cellStyle);
cell = row.createCell(12);
cell.setCellValue("TODO");
cell.setCellStyle(cellStyle);
cell = row.createCell(13);
cell.setCellValue("TODO");
cell.setCellStyle(cellStyle);
cell = row.createCell(14);
cell.setCellValue("TODO");
cell.setCellStyle(cellStyle);
}
我看到所有行都经过函数开头的 if else 语句。但当我查看 Excel 文件时,它们似乎没有任何属性。这就是我调用这个函数的部分:
int rowCount = 3;
for (Table table : tableList){
Row row = sheet.createRow(++rowCount);
writeInterlock(table,row,workbook);
}
我不知道发生了什么,因此我们将不胜感激
最佳答案
有一个Excel limit工作簿中唯一单元格格式/单元格样式的最大数量。
因此,不要为每一行创建单元格样式。据我所知,您只需要两种不同的单元格样式。因此,将这两个创建为 cellStyle1
和 cellStyle2
外部方法:
...
CellStyle cellStyle1 = wb.createCellStyle();
//set all the needed settings
CellStyle cellStyle2 = wb.createCellStyle();
//set all the needed settings
...
然后仅在方法中使用这两个:
private void writeTable(Table table,Row row,Workbook wb) {
...
if(row.getRowNum() % 2 == 0) {
//here use cellStyle1
} else {
//here use cellStyle2
}
...
}
关于java - 由于某种原因,Apache POI Cellstyle 在第 41 行之后不适用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46192166/
我正在使用 Java 中的 Apache POI 库构建 Excel 文件。我想要多个具有不同颜色的单元格,因此我创建了一种方法来构建我需要的样式。然后,我调用此方法来应用我需要的样式。 不幸的是,最
请注意:我看到一个非常提出的类似问题here但这个答案并不是很确定(我无法辨别实际的修复是什么)。如果有人可以向我解释该问题/答案如何解决我当前的问题,我会很乐意自己删除这个问题!只是请不要将 DV/
我不明白为什么会发生这种情况,首先我尝试在第一行的列标题中应用粗体文本,然后我想将标题单元格的边框设置为中等,但此中等边框样式应用于工作表中的所有单元格。在下面的相同代码中还有更多问题: 列标题(第一
我正在尝试对齐文本。这是我的 pom.xml: org.apache.poi poi-ooxml 3.17 在我的代码中:
我有一些代码,例如: CellStyle cs2 = wb.createCellStyle(); CellStyle cs4 = wb.createCellStyle(); cs4.setDataFo
我正在编写一个java代码,我必须比较两个Excel工作表,无论格式如何(xls或xlsx),并复制与新Excel工作表不同的行。然后我读到 WorkbookFactory 可以接受这两种格式。 下面
使用 apache POI ... 我使用了 workbook.CreateCellStyle(),如果一段时间后我需要删除创建的 CellStyle ... 如何从工作簿中删除它?我可以看到它仍然存
我有一个 Bootstrap-Table,它带有一个用于添加新数据行的按钮。我想为插入的每个新行的特定列(text2)的单元格着色。我正在使用内置方法 cellStyle(),如下所示:http://
我正在尝试获取 XLSX 文件单元格的字体颜色。 我正在使用 apache poi。 我能够获得单元格颜色,但不能获得字体颜色。 任何形式的建议将不胜感激。 谢谢 最佳答案 来自 XSSFCellSt
CellStyle stringStyle = workbook.createCellStyle(); stringStyle.setAlignment(HorizontalAlignment.CEN
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 4 年前。 Improve th
我正在尝试让自定义颜色在 Apache POI 中工作,但遇到了一个小问题。到目前为止,我一直在使用 IndexedColors,但作为调色板,它相当单调。因此,使用 RGB 格式进行颜色选择将帮助我
我想使用Apple给定的单元格样式value1对于我的细胞,我不确定这是如何正确完成的。设置单元格样式的唯一可能的方法是在Cell's initialization期间。 ,但我认为在这种情况下子类化
我的系统使用来自 Java 的 Apache POI 生成许多不同的 Excel 报告。 很多这些报告共享相同的样式。 我已经创建了一个 CellStyle 库供所有报告使用。我想知道是否有更简洁的方
例如,我有一些具有简单模型的 MVVM WPF 应用程序: public class MyObject { public string F1 { get; set; } public
正如您从标题中可以理解的那样,在第 41 行之后,即使通过调试我看到代码运行良好,我的风格也不适用。 我的功能是: private void writeTable(Table table,Row ro
环境: Primefaces 6.1 野蝇10 java 8 我遇到的问题是以下错误 Caused by: java.lang.NoSuchMethodError: org.apache.poi.ss
我想将一些记录写入 excel 但我知道 XSSFWorkbook 中的最大单元格样式是 64000。但记录超过 64000 并且考虑我想要将新的 cellstyle 应用于每个单元格,或者我将使用现
我想将 boolean 值写入 Excel 单元格,但不是将单元格样式设置为“逻辑”,而是将单元格样式设置为“数字”。 private void writeToDocument(XSSFWorkboo
我是一名优秀的程序员,十分优秀!