私はC#を使用してExcelドキュメントを操作するプログラムを開発しており、
Microsoft.Office.Interop.Excel._Worksheet worksheet;
X、yセルに何かを挿入するとき、私は使用します:
worksheet.Cells[x, y] = "something";
ここで、Cells [x、y]のbackColor
をC#から変更できるかどうかを知りたいと思います。
ありがとうございました。
試してみてください
worksheet.Cells[x, y].Interior.Color
.NetのColorsを直接使用することはできません。翻訳が必要になります。
以下を使用することをお勧めします(明らかにシルバーから変更):
worksheet.Cells[x, y].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Silver);
はい、セルまたは列全体または行全体に色を付けることができます。
以下のコードはあなたを助けるでしょう。
xlWorkSheet.get_Range(xlWorkSheet.Cells[2, 2], xlWorkSheet.Cells[2, 4]).Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Green);
else
xlWorkSheet.get_Range(xlWorkSheet.Cells[2, 3], xlWorkSheet.Cells[2, 3]).Interior.Color = Excel.XlRgbColor.rgbRed;
ここでxlWorksheetはオブジェクトExcelワークシートオブジェクトです。
get_Rangeは、2つの変数を取ります。1つは開始セルで、もう1つは終了セルです。
したがって、両方の値を同じに指定すると、1つのセルだけが色付けされます。
xlWorkSheet.cells [row、column]は、セルを指定するために使用されます。
System.Drawing.ColorTranslator.ToOle(SystemDrawing.Color.Green)は、OLE形式で色を定義するために使用されます。
Excel.XlRgbColor.rgbRedは、セルに色を付けるExcelの方法です。このメソッドを使用すると、ここにある多数の色にアクセスできます リスト色の
あなたはこのようにそれを行うことができます:
private static readonly int DEL_PERF_FIRST_DATA_ROW = 10;
private static readonly int Sun_ORDERS_COLUMN = 3;
private static readonly int TUE_ORDERS_COLUMN = 5;
private static readonly int THU_ORDERS_COLUMN = 7;
private static readonly int SAT_ORDERS_COLUMN = 9;
private static Color ALTERNATE_WEEKDAY_COLUMNS_COLOR = Color.LightGray;
. . .
int curRow = DEL_PERF_FIRST_DATA_ROW;
(curRowは、行がシートに書き込まれるたびにインクリメントされます。)
// Pale Violetize (light gray, actually) Sun, Tues, Thurs, and Saturday columns
var sundayColumnRange = _xlSheetDelPerf.Range[_xlSheetDelPerf.Cells[DEL_PERF_FIRST_DATA_ROW, Sun_ORDERS_COLUMN],_xlSheetDelPerf.Cells[curRow - 1, Sun_ORDERS_COLUMN]];
sundayColumnRange.Interior.Color = ALTERNATE_WEEKDAY_COLUMNS_COLOR;
var tuesdayColumnRange = _xlSheetDelPerf.Range[_xlSheetDelPerf.Cells[DEL_PERF_FIRST_DATA_ROW, TUE_ORDERS_COLUMN],_xlSheetDelPerf.Cells[curRow - 1, TUE_ORDERS_COLUMN]];
tuesdayColumnRange.Interior.Color = ALTERNATE_WEEKDAY_COLUMNS_COLOR;
var thursdayColumnRange = _xlSheetDelPerf.Range[_xlSheetDelPerf.Cells[DEL_PERF_FIRST_DATA_ROW, THU_ORDERS_COLUMN],_xlSheetDelPerf.Cells[curRow - 1, THU_ORDERS_COLUMN]];
thursdayColumnRange.Interior.Color = ALTERNATE_WEEKDAY_COLUMNS_COLOR;
var saturdayColumnRange =_xlSheetDelPerf.Range[_xlSheetDelPerf.Cells[DEL_PERF_FIRST_DATA_ROW, SAT_ORDERS_COLUMN], _xlSheetDelPerf.Cells[curRow - 1, SAT_ORDERS_COLUMN]];
saturdayColumnRange.Interior.Color = ALTERNATE_WEEKDAY_COLUMNS_COLOR;