В библиотеках Acumatica есть служебный метод PX.Export.Excel.Core.Utils.RgbToColor
для преобразования значения из целочисленного значения ARGB класса .Net Color:
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 static string RgbToColor(int rgb)
{
if (rgb == 0) return "00000000";
return rgb.ToString("x");
}
В основном ожидаемый формат может быть достигнут путем вызова метода ToString
целочисленного объекта с параметром x
.Я считаю, что это возвращает целочисленное значение в форме шестнадцатеричной строки.
Подробнее об этом формате можно узнать здесь: https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings#XFormatString
Жестко закодированная строка «00000000» - это особый случай со значением «без цвета» для Excel.