一开始,我想说我在开发人员的世界里是全新的。
我试图生成一个excel表,其中包含带边框和设置背景颜色的多表,但只针对第一列和第一行。
这是一个正确的示例:正确的示例
我写了类似的东西,但结果文件彩色单元格没有边框:(。
请告诉我如何同时设置背景颜色和边框。
您真正的问题是,您有两种样式,一种命名为background Style,另一种命名为borderStyle。然后,您将两种样式应用于同一个单元格,但一个单元格只能有一种样式,因此,您不是添加第二种样式,而是用第二种样式覆盖第一种样式。
而不是:
CellStyle backgroundStyle = workbook.createCellStyle();
backgroundStyle.setFillBackgroundColor(IndexedColors.GREY_50_PERCENT.getIndex());
backgroundStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
CellStyle borderStyle = workbook.createCellStyle();
borderStyle.setBorderBottom(CellStyle.BORDER_THIN);
borderStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex());
borderStyle.setBorderLeft(CellStyle.BORDER_THIN);
borderStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex());
borderStyle.setBorderRight(CellStyle.BORDER_THIN);
borderStyle.setRightBorderColor(IndexedColors.BLACK.getIndex());
borderStyle.setBorderTop(CellStyle.BORDER_THIN);
borderStyle.setTopBorderColor(IndexedColors.BLACK.getIndex());
只需创建如下单个样式:
CellStyle backgroundStyle = workbook.createCellStyle();
backgroundStyle.setFillBackgroundColor(IndexedColors.GREY_50_PERCENT.getIndex());
backgroundStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
backgroundStyle.setBorderBottom(CellStyle.BORDER_THIN);
backgroundStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex());
backgroundStyle.setBorderLeft(CellStyle.BORDER_THIN);
backgroundStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex());
backgroundStyle.setBorderRight(CellStyle.BORDER_THIN);
backgroundStyle.setRightBorderColor(IndexedColors.BLACK.getIndex());
backgroundStyle.setBorderTop(CellStyle.BORDER_THIN);
backgroundStyle.setTopBorderColor(IndexedColors.BLACK.getIndex());
然后将其应用于您的手机:
Sheet sheet = workbook.createSheet();
Row row = sheet.createRow(1);
Cell cell = row.createCell(1);
cell.setCellStyle(backgroundStyle);
注意:如其他答案所述,FillPattern=SOLID_FOREGROUND忽略背景颜色,您必须为该图案设置前景颜色。这可能会令人困惑,因为您正在尝试将单元格背景设置为纯色。但单元格背景
与background color单元格背景
与填充样式相同,它有两种颜色,一种是
Foreground Colorbackground Color
,这两种颜色是根据所选的特定填充样式显示的。SOLID_FOREGROUND填充仅使用前景颜色。
从POI 3.x开始,单元格填充颜色设置如下:
CellStyle cs = wb.createCellStyle();
cs.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
cs.setFillPattern(FillPatternType.SOLID_FOREGROUND);
请更改< code > background style . setfillbackgroundcolor(indexed colors。GREY _ 50 _ percent . getindex());到
backgroundStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
您可以如下设置边框:
backgroundStyle.setBorderBottom(CellStyle.BORDER_THIN);
backgroundStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex());
backgroundStyle.setBorderLeft(CellStyle.BORDER_THIN);
backgroundStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex());
backgroundStyle.setBorderRight(CellStyle.BORDER_THIN);
backgroundStyle.setRightBorderColor(IndexedColors.BLACK.getIndex());
backgroundStyle.setBorderTop(CellStyle.BORDER_THIN);
backgroundStyle.setTopBorderColor(IndexedColors.BLACK.getIndex());
这将根据需要为您提供黄色和边框
问题内容: 一开始,我想说我是开发人员领域的新手。 我试图生成一个Excel工作表,其中包含带边框的Mutiplication表并设置背景颜色,但仅用于第一列和第一行。 这是一个正确的例子:正确的例子 我写了类似的东西,但是结果文件彩色单元格没有边框:(。 请向我解释如何同时设置背景颜色和边框。 问题答案: 更改 为 您可以如下设置边框: 这将根据需要为您提供黄色和边框
问题内容: 以下代码中的行无效。为什么?我该如何解决? 问题答案: 您需要调用小部件。默认情况下,a不会填充背景。 有关更多信息,请参见该属性的文档。 如果要使用任意背景色,则需要修改小部件的调色板:
通过RGB值设置背景的颜色。 默认的颜色是 0x000000: // 颜色的参数可以是字符串 "#530000" 或者是十六进制数值 0x530000 controller.setBackgroundColor("#530000); //controller.setBackgroundColor(0x530000);
嘿,伙计们,我实际上是java编程的新手。我可以把背景颜色的代码行放在哪里。因为当我在main方法中放一个颜色为黄色的jpanel时。jframe中背景颜色的设置有效,但jtag、jtext field和j按钮现在不见了...一切都只是黄色。 }
问题内容: 当我尝试使用以下命令在Vim 中或直接在Vim中更改背景色时: …完全不影响我的背景。该选项也没有。但是,当我运行gvim时看起来还可以。 有没有一种方法可以在Vim中更改背景而不更改我的Konsole设置? 编辑 好的,guifg / guibg和ctermfg / ctermbg之间是有区别的。虽然GUI接受许多不同的颜色组合,但是cterm仅允许很少的标准颜色组合。 问题答案:
问题内容: 我正在使用Nimbus外观。我需要在JTabbedPane中更改选项卡的背景色和前景色,但在JTabbedPane中未设置颜色。我尝试了setForeground(),setForegroundAt(),setBackground()和setBackgroundAt()方法,但没有用。这是我的代码 } 问题答案: 您可以执行几项不同的操作,具体取决于您希望对确切颜色进行多少控制。最简单