私のシート上の2箇所に、白いフォントと黒い背景を持つセルが必要です。 1つの場所(ヘッダー行)で動作します。もう一方(日付値)では、そうではなく、私はこの失敗を引き起こすように私が何をやっているのか分かりません。フォントと背景(フォアグラウンド)の色付けがここで機能しないのはなぜですか(アスペクトセル)?
CellsFactory cfHeaderRow = new CellsFactory();
Cell headerRowCell;
Style styleHeaderRow;
for (int x = 0; x < drPrices.FieldCount-1; x++)
{
headerRowCell = pricePushSheet.Cells[6, x];
headerRowCell.PutValue(drPrices.GetName(x));
pricePushSheet.Cells.SetColumnWidth(x, 9);
styleHeaderRow = cfHeaderRow.CreateStyle();
styleHeaderRow.HorizontalAlignment = TextAlignmentType.Center;
styleHeaderRow.Font.Color = Color.White;
styleHeaderRow.ForegroundColor = Color.Black;
styleHeaderRow.Pattern = BackgroundType.Solid;
styleHeaderRow.IsTextWrapped = true;
headerRowCell.SetStyle(styleHeaderRow);
}
..andここで(以下のスクリーンショットで丸で囲んだ日付の行の)動作していないコードである:ここ
は、(ヘッダ行のために)働いているコードである
CellsFactory cfDate = new CellsFactory();
Cell dateCell = pricePushSheet.Cells[3, 4];
Style styleDate = cfDate.CreateStyle();
dateCell.PutValue(pricePushSheet.Cells[7, 1]);
StyleFlag flag2 = new StyleFlag();
flag2.NumberFormat = true;
styleDate.Font.IsBold = true;
styleDate.HorizontalAlignment = TextAlignmentType.Center;
styleDate.Font.Color = Color.White;
styleDate.ForegroundColor = Color.Black;
styleDate.Pattern = BackgroundType.Solid;
styleDate.Custom = "mm/dd/yyyy";
dateCell.SetStyle(styleDate, flag2);
それでは、非稼働コードで(つまりは問題かもしれない)異なるように思えることは(それが日付の書式を設定する必要があるため)、それはStyleFlagを使用していることである:
StyleFlag flag2 = new StyleFlag();
flag2.NumberFormat = true;
styleDate.Custom = "mm/dd/yyyy";
...もちろん、SetStyleは2番目の引数としてフラグを受け取ります(コードの作業ビットにはフラグが必要ありません。これは何の意味もないからです)。
下記のように、問題のセルに日付がありません(E4)。それはまだシート上にない場所からそれをつかむ。しかし、フォントが白ではなく黒で、バックグラウンド(Asposeで前景と呼ばれる)が黒ではなく白であるという事実。なぜ着色が動作していない
?セルE4で動作させるには、何を行うか、変更する必要がありますか?
「flag2.Font = true;」とは何ですか?どういう意味ですか? –
まあ、Font関連のすべてのオプション(Fontの下の属性(sub)、例えばIsBold、Colorなど)を "true"に指定します。 –