在设置单元格的内部颜色时,我发现允许使用某些颜色,而忽略某些颜色。例如,这是有效的(其中ws是IWorksheet对象):
ws.Cells[r, c].Interior.Color = Colors.LightPink;
但尝试此颜色时
ws.Cells[r, c].Interior.Color = Color.FromArgb(255, 255, 136, 136);
结果是仍然具有原始白色背景的单元格。好像颜色从未改变过。是否只有SpreadSheetGear允许您使用的某些颜色?
答案 0 :(得分:0)
几年后再次遇到这个问题,我能够解决它。您可以通过检查 IWorkbook 对象的 Colors 属性找到您被限制使用的颜色列表:
SpreadsheetGear.IWorkbook wb = SpreadsheetGear.Factory.GetWorkbook();
for (int i = 0; i < wb.Colors.Count; i++)
Debug.WriteLine("[{0}] {1}", i, wb.Colors[i].ToArgb().ToString("x"));
如果您想要的颜色不在此列表中,则 SpreadsheetGear 将任意选择调色板中的其他颜色。但是,您可以将想要的颜色添加到调色板中。例如:
wb.Colors[wb.Colors.Count - 1] = SpreadsheetGear.Colors.Orange;