C#로 셀 배경 변경
저는 엑셀 문서를 조작하기 위해 C#을 사용한 프로그램을 개발하고 있고, 사용하고 있습니다.
Microsoft.Office.Interop.Excel._Worksheet worksheet;
x,y 셀에 무엇인가를 삽입할 때 사용합니다.
worksheet.Cells[x, y] = "something";
이제 저는 그 시스템을 변경하는 것이 가능한지 알고 싶습니다.backColor
C#의 Cell[x,y]에 대한.
감사해요.
해라
worksheet.Cells[x, y].Interior.Color
의 색상을 사용할 수 없습니다.직접적으로, 그들은 번역을 필요로 할 것입니다.
다음을 사용하는 것이 좋습니다(분명히 은색에서 변경).
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);
또 다른
xlWorkSheet.get_Range(xlWorkSheet.Cells[2, 3], xlWorkSheet.Cells[2, 3]).Interior.Color = Excel.XlRgbColor.rgbRed;
여기서 xl워크시트는 객체 excel 워크시트 객체입니다.
get_Range는 시작 셀과 종료 셀 중 2개의 변수를 사용합니다.
따라서 두 값을 모두 동일하게 지정하면 하나의 셀만 색이 표시됩니다.
xlWorkSheet.cells[행, 열]은 셀을 지정하는 데 사용됩니다.
시스템. 도면.색 변환기.ToOle(시스템 도면).Color.Green)은 OLE 형식으로 색상을 정의하는 데 사용됩니다.
Excel.XlRgbColor.rgbRed는 셀에 색을 입히는 훌륭한 방법입니다. 이 방법은 여기 색상 목록에서 찾을 수 있는 많은 색상에 접근할 수 있게 해줍니다.
이렇게 할 수 있습니다.
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;
(currRow는 행을 시트에 쓸 때마다 증가합니다.)
// 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;
16진수 색상을 배경으로 설정하려는 사용자는 다음을 사용할 수 있습니다.
worksheet.get_Range("A1", "F1").Interior.Color = ColorTranslator.FromHtml("#52b69a");
언급URL : https://stackoverflow.com/questions/6059339/change-the-background-of-cells-with-c-sharp
'source' 카테고리의 다른 글
C11 GCC threads.h not found? (0) | 2023.10.14 |
---|---|
메모장++를 사용하여 XSD에 대한 XML 유효성 검사 (0) | 2023.10.14 |
2바이트를 부호 있는 16비트 정수로 변환하는 올바른 방법은 무엇입니까? (0) | 2023.10.14 |
jQuery로 DOM 요소를 파괴하는 방법? (0) | 2023.10.14 |
문자열에서 XML을 읽고 몇 가지 필드 가져오기 - XML을 읽는 문제 (0) | 2023.10.14 |