Member 12887760 Ответов: 1

Как изменить цвет ячейки на основе индексов столбцов и строк в наборе данных ?


Всем Привет,

Мне нужно выделить ячейку с помощью задачи "скрипт" с помощью служб SSIS. Я могу получить значение ячейки, что означает, что мой скрипт работает :

OleDbDataAdapter objAdapterDataCell = new
       OleDbDataAdapter(strSQLDataCell, cn);
       DataSet dsDataCell = new DataSet();
       objAdapterDataCell.Fill(dsDataCell, Data_Sheet);
       System.Data.DataTable dtDataCell = dsDataCell.Tables[Data_Sheet];
       object CellToHigh = dsDataCell.Tables[Data_Sheet].Rows[RowIndex]
       [ColumnIndex];


Что я уже пробовал:

When adding this nothing happening :

<pre>  dsDataCell.Tables[Data_Sheet].Rows[RowIndex][ColumnIndex] = 
        Color.Red;
        excelBook.Save();
        excelBook.Close();
        MessageBox.Show(CellToHigh.ToString());
        xlApp.Quit();
        Marshal.ReleaseComObject(xlApp);
        Dts.TaskResult = (int)ScriptResults.Success;


Спасибо за вашу помощь.

Gerry Schmitz

цвет.Красный" просто выйдет как число (где-то).

Excel не "осведомлен" о "цветах" .NET.

Member 12887760

Спасибо за ваш ответ, Джерри, и как я могу решить эту проблему, пожалуйста ?

Member 12887760

На самом деле мне нужно изменить цвет ячейки на основе ее RowIndex и ColumnIndex

1 Ответов

Рейтинг:
8

Maciej Los

Что вы пытаетесь предпринять в этой линии:

dsDataCell.Tables[Data_Sheet].Rows[RowIndex][ColumnIndex] = Color.Red;

заключается в изменении значения в ячейке "Data_Sheet- Поддается датированию, что невозможно!
Примечание: Color.Red возвращает определенный системой цвет, имеющий значение ARGB равное #FFFF0000

Можно изменить цвет ячейки в Excel. Как же так?
Как программно применить цвет к диапазонам Excel - Visual Studio | Microsoft Docs[^]

Excel.Range rng2 = excelSheet.get_Range("A1");
rng2.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);


Member 12887760

@Maciej Los, спасибо Вам за ваш ответ. Вообще - то я должен использовать Microsoft.Офис.Взаимодействие.Excel в сочетании с вашим ответом использует диапазон вместо набора данных, и это решает мою проблему.

Maciej Los

Всегда пожалуйста.