使用 Acumatica 的导出方法用颜色填充 Excel 个单元格
Fill Excel cells with colors using export method of Acumatica
我正在尝试使用我通过此 发现的导出方法以编程方式用颜色填充 Excel 的单元格。我注意到该库包含一个名为 AddFill 的方法,它具有以下参数 AddFill(int startRow, int startColumn, int endRow, int endColumn, string fgColor, string bgColor, [bool doNotOverride = false])
但我设置为 fgColor and/or bgColor 的所有内容都会使单元格颜色变为全黑。我试过 "red"、"Red"、"RED"、“#FF0000”、“(255,0,0)”,结果总是一样。如果有人知道如何使用 Acumatica 用来用颜色填充单元格的库来做到这一点,那将非常有帮助
Acumatica 库中有一个实用方法 PX.Export.Excel.Core.Utils.RgbToColor
可以从 .Net Color class 整数 ARGB 值转换值:
AddFill(startRow, startColumn, endRow , endColumn,
PX.Export.Excel.Core.Utils.RgbToColor(System.Drawing.Color.AliceBlue.ToArgb()),
PX.Export.Excel.Core.Utils.RgbToColor(System.Drawing.Color.FromArgb(255, 0, 0).ToArgb()));
该方法是 public,所以您应该可以重复使用它,但如果您必须自己动手,这里是实现:
public static string RgbToColor(int rgb)
{
if (rgb == 0) return "00000000";
return rgb.ToString("x");
}
基本上可以通过参数x
调用整数对象的ToString
方法来实现预期的格式。我相信这 returns 是一个十六进制字符串形式的整数值。
有关此格式的更多详细信息,请参见此处:
https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings#XFormatString
硬编码字符串 '00000000' 是一种特殊情况,对于 Excel.
具有 'no color' 的含义
我正在尝试使用我通过此 AddFill(int startRow, int startColumn, int endRow, int endColumn, string fgColor, string bgColor, [bool doNotOverride = false])
但我设置为 fgColor and/or bgColor 的所有内容都会使单元格颜色变为全黑。我试过 "red"、"Red"、"RED"、“#FF0000”、“(255,0,0)”,结果总是一样。如果有人知道如何使用 Acumatica 用来用颜色填充单元格的库来做到这一点,那将非常有帮助
Acumatica 库中有一个实用方法 PX.Export.Excel.Core.Utils.RgbToColor
可以从 .Net Color class 整数 ARGB 值转换值:
AddFill(startRow, startColumn, endRow , endColumn,
PX.Export.Excel.Core.Utils.RgbToColor(System.Drawing.Color.AliceBlue.ToArgb()),
PX.Export.Excel.Core.Utils.RgbToColor(System.Drawing.Color.FromArgb(255, 0, 0).ToArgb()));
该方法是 public,所以您应该可以重复使用它,但如果您必须自己动手,这里是实现:
public static string RgbToColor(int rgb)
{
if (rgb == 0) return "00000000";
return rgb.ToString("x");
}
基本上可以通过参数x
调用整数对象的ToString
方法来实现预期的格式。我相信这 returns 是一个十六进制字符串形式的整数值。
有关此格式的更多详细信息,请参见此处: https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings#XFormatString
硬编码字符串 '00000000' 是一种特殊情况,对于 Excel.
具有 'no color' 的含义