問題:
EEPlusを使用しています。
16進カラーコードの適用にこだわっています。 #B7DEE8
、Excelシートのセル用。
私は次の(動作中の)コードを取得しました:
ws.Cells["A1:B1"].Style.Fill.PatternType = ExcelFillStyle.Solid;
ws.Cells["A1:B1"].Style.Fill.BackgroundColor.SetColor(Color.Gray);
ただし、次のようなものが必要です。
ws.Cells["A1:B1"].Style.Fill.BackgroundColor.SetColor("#B7DEE8");
だから私の質問は:EEPlusで16進カラーコードを使用することは可能ですか?もしそうなら、どうすればそれができますか?
これを試して
Color colFromHex = System.Drawing.ColorTranslator.FromHtml("#B7DEE8");
ws.Cells["A1:B1"].Style.Fill.PatternType = ExcelFillStyle.Solid;
ws.Cells["A1:B1"].Style.Fill.BackgroundColor.SetColor(colFromHex);
これはうまく機能しています。
Dim objExcel As New ExcelPackage
Dim Sheet As ExcelWorksheet = objExcel.Workbook.Worksheets.Add("SheetName")
Sheet.Cells["A1"].Style.Fill.PatternType = Style.ExcelFillStyle.Solid
Sheet.Cells["A1"].Style.Fill.BackgroundColor.SetColor(Color.FromArgb(170, 170, 170))
16進数のCSSカラーフォーミュラを変換する必要はありません。単に「0X」をその番号のヘッダーとして置くことができ、これにより整数式になります。
var couleur = System.Drawing.Color.FromArgb(OXB7DEF8);
Sheet.Cells["A1"].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
Sheet.Cells["A1"].Style.Fill.BackgroundColor.SetColor(couleur);