Как применить цвет, чтобы превзойти ячейку, используя Qt?
Я новичок в Qt . Я написал программу для чтения и записи данных из файла Excel.
void Excel::Color(const QString& Sheet_Name,const QString& cell,const QString& color_Name) {
QAxObject* Worksheet = activeWorkbook->querySubObject("WorkSheets(const QString&)",Sheet_Name);
QAxObject* Cell_Range = Worksheet->querySubObject("Range(const QString&)",cell );
}
Теперь мне нужно применить цвет к определенной ячейке. Есть ли возможность достичь этого?
2 ответа
Решение
Как энтузиаст delphi, я занимался офисной автоматизацией в прошлом. Мне не очень комфортно с Qt, но у меня на компьютере установлена Qt Creator 2.4.0 с последней платформой Qt: это очень многообещающе.
Вот фрагмент кода VBA, более релевантный для окраски ячеек,
Cells(1, “D”).Interior.Color = RGB(0, 255, 255)
Cells(1, “D”).Borders.Weight = xlThick
Cells(1, “D”).Borders.Color = RGB(0, 0, 255)
Вы также можете перейти к этой интересной теме, связанной с использованием файла Excel с помощью QAxWidget.
Редактировать:
В конечном итоге OP находит подходящее решение Qt следующим образом:
QAxObject* Interior = currentCell->querySubObject("Interior");
Interior->setProperty("ColorIndex",Index_val);
Как получить currentCell
объект:
QAxObject* Interior = currentCell->querySubObject("Interior");
Interior->setProperty("ColorIndex",Index_val);