Можно ли выделить цветом ячейку в таблице excel ?

  • Автор темы Автор темы backoff
  • Дата начала Дата начала

backoff

Client
Регистрация
20.04.2015
Сообщения
6 355
Реакции
6 640
Баллы
113
Приветствую, не нашел ответа на вопрос, не думал что пригодится, но для визуализации при больших объемах информации становится просто необходимо.
Может кто-то сталкивался с таким вопросом и есть решение?
Спасибо
 
не, это темный лес для меня
А так?
C#:
Развернуть Свернуть Копировать
var table = project.Tables["MyTable"];
string column = "A";//колонка
int row = int.Parse(project.Variables["ТУТ ПЕРЕМЕННАЯ С НОМЕРОМ СТРОКИ"].Value);//ряд
 
// create style
var style = new ZennoTableStyle
{
//    FontColor = Color.Blue
//    FontColor = Color.Green
//    FontColor = Color.Red
    FontColor = Color.Yellow   
};
      
table.SetCellStyle("A", row, style);
 
  • Спасибо
Реакции: volody00, backoff и Rimen
уже лучше и понятнее, но что делать если у тебя за раз записывается 15 параметров, делать для каждой клетки свой С# ? не вариант
Опиши ситуацию и попробуем сделать в одном кубике
как и откуда значения появляются
как строки в таблице определить
при каком значении в каком цвете стилизировать
 
оке
ситуация такая
Делаю парсинг, доменов, парсится их значения, эти значения потом записываются. Они записываются стандартным кубиком через тег {-String.Tab-} и запись идет поочередно сверху - вниз

мне можно привести пример из 3-5 значений, на этом примере я уже построю свой, на это знаний шарпа хватит
давай вот так
есть 5 значений

var1 var2 ... var5

значения var1,2,5 - без цвета

var3 - синий
var4 - зеленый

как пример, что должно получиться на выходе

83786
 
В самом конце парсинга можно в цикле все закрасить
C#:
Развернуть Свернуть Копировать
var table = project.Tables["MyTable"];

var blue = new ZennoTableStyle
{
    FontColor = Color.Blue
//    FontColor = Color.AliceBlue
//    FontColor = Color.BlueViolet
//    FontColor = Color.DarkBlue
//    FontColor = Color.LightBlue
};
var khaki = new ZennoTableStyle
{
    FontColor = Color.Khaki   
};
 
//В цикле закрашивает все ячейки колонок C и D
for(int i = 0; i < table.RowCount; i++)
{
    table.SetCellStyle("C", i, blue);
    table.SetCellStyle("D", i, khaki);
}
 
  • Спасибо
Реакции: artur23 и backoff
В самом конце парсинга можно в цикле все закрасить
C#:
Развернуть Свернуть Копировать
var table = project.Tables["MyTable"];

var blue = new ZennoTableStyle
{
    FontColor = Color.Blue
//    FontColor = Color.AliceBlue
//    FontColor = Color.BlueViolet
//    FontColor = Color.DarkBlue
//    FontColor = Color.LightBlue
};
var khaki = new ZennoTableStyle
{
    FontColor = Color.Khaki  
};

//В цикле закрашивает все ячейки колонок C и D
for(int i = 0; i < table.RowCount; i++)
{
    table.SetCellStyle("C", i, blue);
    table.SetCellStyle("D", i, khaki);
}
2 строчка - нужно поменять на число вместо строки:
Развернуть Свернуть Копировать
var table = project.Tables["table2"];
int column = 1;//колонка
int row = int.Parse(project.Variables["counter"].Value);//ряд

var blue = new ZennoTableStyle
{
    FontColor = Color.Blue
//    FontColor = Color.AliceBlue
//    FontColor = Color.BlueViolet
//    FontColor = Color.DarkBlue
//    FontColor = Color.LightBlue
};
var khaki = new ZennoTableStyle
{
    FontColor = Color.Khaki   
};
 
// закрашивает ячейки колонок C и D
table.SetCellStyle(column, row, blue);
 
2 строчка - нужно поменять на число вместо строки:
Развернуть Свернуть Копировать
var table = project.Tables["table2"];
int column = 1;//колонка
int row = int.Parse(project.Variables["counter"].Value);//ряд

var blue = new ZennoTableStyle
{
    FontColor = Color.Blue
//    FontColor = Color.AliceBlue
//    FontColor = Color.BlueViolet
//    FontColor = Color.DarkBlue
//    FontColor = Color.LightBlue
};
var khaki = new ZennoTableStyle
{
    FontColor = Color.Khaki 
};

// закрашивает ячейки колонок C и D
table.SetCellStyle(column, row, blue);

Код работает, закрашивает текст в ячейках, спасибо. Но как сделать чтобы вместо текста закрашивались сами ячейки?
здесь мб нужно "FontColor" заменить на другое значение, но на какое? на форуме и в google не найду ответ.
Подскажите пожалуйста как будет выглядеть код для окрашивания ячеек (пример как на скриншоте).
 

Вложения

  • hjybtfgfd.png
    hjybtfgfd.png
    16,6 KB · Просмотры: 19
Код работает, закрашивает текст в ячейках, спасибо. Но как сделать чтобы вместо текста закрашивались сами ячейки?
здесь мб нужно "FontColor" заменить на другое значение, но на какое? на форуме и в google не найду ответ.
Подскажите пожалуйста как будет выглядеть код для окрашивания ячеек (пример как на скриншоте).
https://www.cyberforum.ru/windows-forms/thread1170640.html -здесь есть решение, но как его перенести в Зенку не знаю..
 
А так?
C#:
Развернуть Свернуть Копировать
var table = project.Tables["MyTable"];
string column = "A";//колонка
int row = int.Parse(project.Variables["ТУТ ПЕРЕМЕННАЯ С НОМЕРОМ СТРОКИ"].Value);//ряд

// create style
var style = new ZennoTableStyle
{
//    FontColor = Color.Blue
//    FontColor = Color.Green
//    FontColor = Color.Red
    FontColor = Color.Yellow
};
   
table.SetCellStyle("A", row, style);

Почему-то выдает ошибку в 14 строке когда указываю столбец F
table.SetCellStyle("F", row, style);


Всегда выдает ошибку в 14 строке

Компиляция кода Ошибка в действии "CS1503" "Argument 1: cannot convert from 'string' to 'int'". [Строка: 14; Cтолбец: 20]
 
Последнее редактирование:
Почему-то выдает ошибку в 14 строке когда указываю столбец F
table.SetCellStyle("F", row, style);


Всегда выдает ошибку в 14 строке

Компиляция кода Ошибка в действии "CS1503" "Argument 1: cannot convert from 'string' to 'int'". [Строка: 14; Cтолбец: 20]

Вот такой код заработал.
C#:
Развернуть Свернуть Копировать
var table = project.Tables["RESULT"];
int column = int.Parse(project.Variables["column"].Value);//колонка
int row = int.Parse(project.Variables["num_string_result"].Value);//ряд
 
// create style
var style = new ZennoTableStyle
{
//    FontColor = Color.Blue
//    FontColor = Color.Green
//   FontColor = Color.Yellow
     FontColor = Color.Red
};
    
table.SetCellStyle(column, row, style);
 
Как сделать,помогите плиз.
Есть файл экзель в котором несколько листов, есть спаршенное значение к примеру число "11"
Нужно найти именно это значение пройдясь по всем листам, так как значение уникальное найдется 1 совпадение и эту ячейку в дальнейшем окрасить оранжевым цветом.
 
Не понимаю как и куда вписать искомое значение, так код выполняется но ничего не закрашивается(


108356
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)