it-swarm.com.ru

отличная окраска клеток

Я использую c # для окраски отдельных ячеек файла Excel . Я использую:

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;

... для окрашивания клеток, но это не работает .... Кто-нибудь может мне помочь?

10
bill

Попробуйте что-нибудь подобное

ws.Cells[row, clmn].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red)
14
Stecya

Cells [row, clmn] - это диапазон, поэтому вам не нужно вызывать get_Range (), и есть перечисление, которое вы можете использовать для цветов.

ws.Cells[row, clmn].Interior.Color = XlRgbColor.rgbBlack;
6
Tom Brothers

Если вы хотите установить цвет по индексу цвета, вам нужно использовать этот метод: 

    Cells[row, col].Interior.ColorIndex = 36;
4
Khanh

Убедитесь, что вы используете:

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).

1
Member2017

Вы можете покрасить ячейку или весь столбец или всю строку.

Код ниже поможет вам.

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 Worksheet.

get_Range принимает 2 переменные: одна начальная ячейка, а другая - конечная ячейка.

поэтому, если вы укажете оба значения одинаковыми, то будет окрашена только одна ячейка.

xlWorkSheet.cells [строка, столбец] используется для указания ячейки.

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

1
Tejaswi Pandava