为什么为单元格设置颜色不起作用(Aspose Cells)?

时间:2016-11-23 16:38:56

标签: excel colors aspose aspose-cells background-foreground

我有这个代码来尝试设置单元格的背景颜色(除其他外):

private static readonly Color CONTRACT_ITEM_COLOR = Color.FromArgb(255, 255, 204);
. . .
cell = pivotTableSheet.Cells[4, 0];
cell.PutValue(AnnualContractProductsLabel);
style = cell.GetStyle();
style.HorizontalAlignment = TextAlignmentType.Center;
style.VerticalAlignment = TextAlignmentType.Center;
style.Font.IsBold = true;
pivotTableSheet.Cells.SetRowHeight(4, 25);
style.BackgroundColor = CONTRACT_ITEM_COLOR;
pivotTableSheet.Cells[4, 0].SetStyle(style);

水平和垂直对齐的设置,以及粗体和高度 - 除了颜色之外的所有内容:

enter image description here

还需要什么?我甚至尝试将ForegroundColor和背景颜色设置为:

style.ForegroundColor = Color.Red;
style.BackgroundColor = Color.Blue;

......但两者都没有 - 细胞仍然与上面的截图完全相同。

2 个答案:

答案 0 :(得分:3)

请将您的代码段更改为(请参见突出显示的行): 例如 示例代码:

. . .
cell = pivotTableSheet.Cells[4, 0];
cell.PutValue(AnnualContractProductsLabel);
style = cell.GetStyle();
style.HorizontalAlignment = TextAlignmentType.Center;
style.VerticalAlignment = TextAlignmentType.Center;
style.Font.IsBold = true;
pivotTableSheet.Cells.SetRowHeight(4, 25);
**style.ForegroundColor = CONTRACT_ITEM_COLOR;
style.Pattern = BackgroundType.Solid;**
pivotTableSheet.Cells[4, 0].SetStyle(style);

..........

它应该可以正常工作。

我是Aspose的支持开发人员/传播者。

答案 1 :(得分:1)

有时设置背景有效,有时却没有。 Aspose充满了错误-ClosedXML更可靠,但更难使用。希望我不会把钱花在第三世界县的第三方开发的产品上。

var cells = worksheet.Cells;     //get cells collection from active worksheet <br>
var srcCells = workbook.Worksheets[1].Cells;<br>

for (int i = 0; i<rowCount; i++)<br>
{<br>
    var srcStyle = srcCells[i, 0].GetStyle();<br>
    var destStyle = cells[i, 0].GetStyle();<br>
    destStyle.Pattern = BackgroundType.Solid;<br>
    destStyle.ForegroundColor = Color.FromArgb(srcStyle.ForegroundArgbColor);<br>
    cells[i, 0].SetStyle(destStyle);<br>
}<br>

以上代码不起作用。 srcStyle前景颜色argb为170,215,255。
调试代码destStyle ForegroundColor设置为170,215,255,但是当另存为xlsx时,所有单元格背景都是白色的。

在ClosedXML代码中,以下代码可以完美运行

worksheet.Row(i).Cell(0).Style.BackgroundColor = Color.FromArgb(argb)

结论:保存$$$$$并使用ClosedXML