Dlaczego Epplus mówi mi, że "nie mogę ustawić koloru, gdy Patterttype nie jest ustawiony" Kiedy zainstalowałem DeseodyTiTEPE?


Mam ten kod, aby spróbować stylizować ciąg nagłówka:
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);

Błąd w ostatnim wierszu powyżej z „

System.ArgumentException was unhandled. . .Message=Can'T set color when pattern type is not set.
Źródło = EPPlus. ... ...

"
Co może być prawdziwym problemem? ja
Robię to, co twierdzi, że to nieprawda?
Więcej kontekstu:
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);

Zauważ, że miałem kod „stylizuj resztę” przed dodaniem „wiersza nagłówka stylu” i nie napotkałem tego problemu. Kod jest dokładnie taki sam, jak w przypadku ustawienia PatternType, a następnie BackgroundColor (z wyjątkiem używanego koloru i zakresu komórek, do których jest stosowany kod).
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Spójrz uważnie na te dwie linie:
worksheet.Cells["A32:D32"].Style.Fill.PatternType = ExcelFillStyle.Solid;
worksheet.Cells["A32:D33"].Style.Fill.BackgroundColor.SetColor(Color.CornflowerBlue);

W drugiej linii tam

D33

zamiast

D32

Dlatego, jeśli D33 nie jest jeszcze zainstalowany, poda ten błąd.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się