私はExcelファイルの特定のセルに色を付けるためにc#を使用しています。使ってます:
Application Excel = new Application();
Workbook wb = Excel.Workbooks.Open(destPath);
Worksheet ws = wb.Worksheets[1];
ws.get_Range(ws.Cells[row, clmn]).Cells.Interior.Color = 36;
...セルに色を付けますが、これは機能していません。誰かが私を助けることができますか?
そのようなことを試してください
ws.Cells[row, clmn].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red)
Cells [row、clmn]は範囲であるため、get_Range()を呼び出す必要はなく、色に使用できる列挙型があります。
ws.Cells[row, clmn].Interior.Color = XlRgbColor.rgbBlack;
カラーインデックスで色を設定する場合は、次の方法を使用する必要があります。
Cells[row, col].Interior.ColorIndex = 36;
セル、列全体、または行全体に色を付けることができます。
以下のコードはあなたを助けるでしょう。
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の方法です。このメソッドを使用すると、ここにある多数の色にアクセスできます リスト色の
以下のコードは、Excelワークシートを定義した方法です。
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range xlwidthadjust; //used this to adjust width of columns
object misValue = System.Reflection.Missing.Value;
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
このコードを使用すると、この例外HRESULTからの例外が発生しないと確信しています:0x800A03EC
以下を使用していることを確認してください。
using Excel = Microsoft.Office.Interop.Excel;
変更する範囲の変数がある場合は、次を使用します。
chartRange = xlWorkSheet.get_Range("a5", "a8");
chartRange.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);
特定のセルの色を変更するだけの場合は、次を使用します。
xlWorkSheet.Cells[row, col].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);
...ここで、「row」は行番号、「col」は指定された文字列(1から始まる)に割り当てられた列番号です。