ヘッダー行をスタイルしようとする次のコードがあります。
worksheet.Cells["A32:D32"].Style.Font.Name = "Georgia";
worksheet.Cells["A32:D32"].Style.Font.Bold = true;
worksheet.Cells["A32:D32"].Style.Font.Size = 16;
worksheet.Cells["A32:D32"].Style.Fill.PatternType = ExcelFillStyle.Solid;
worksheet.Cells["A32:D33"].Style.Fill.BackgroundColor.SetColor(Color.CornflowerBlue);
「System.ArgumentException was unhandled。。Message = Ca n't set color when patterntype is not set。Source = EPPlus。。。 "
本当の問題は何でしょうか?私am自分がそうではないと主張していることをしていますよね?
詳細については:
worksheet.Cells["A32"].LoadFromCollection(bookDataList, true);
// style header row
worksheet.Cells["A32:D32"].Style.Font.Name = "Georgia";
worksheet.Cells["A32:D32"].Style.Font.Bold = true;
worksheet.Cells["A32:D32"].Style.Font.Size = 16;
worksheet.Cells["A32:D32"].Style.Fill.PatternType = ExcelFillStyle.Solid;
worksheet.Cells["A32:D33"].Style.Fill.BackgroundColor.SetColor(Color.CornflowerBlue);
// style the rest
worksheet.Cells["A33:D59"].Style.Font.Name = "Candara";
worksheet.Cells["A33:D59"].Style.Fill.PatternType = ExcelFillStyle.Solid;
worksheet.Cells["A33:D59"].Style.Fill.BackgroundColor.SetColor(Color.Cornsilk);
「スタイルヘッダー行」を追加する前に「スタイル残り」のコードがあり、この問題に遭遇しなかったことに注意してください。コードは、PatternTypeを設定してからBackgroundColorを設定する場合とまったく同じです(使用される色と、コードが適用されるセルの範囲を除く)。
2つの行をよく見てください。
worksheet.Cells["A32:D32"].Style.Fill.PatternType = ExcelFillStyle.Solid;
worksheet.Cells["A32:D33"].Style.Fill.BackgroundColor.SetColor(Color.CornflowerBlue);
2行目にはD32の代わりにDがあるため、D33がまだ設定されていない場合は、そのエラーがスローされます。