Моя часть кода экспорта в Excel:
void ExcelExportHelper::SetCellValue(int lineIndex, int columnIndex, QString value)
{
if(!m_sheet ) {
qDebug() << Q_FUNC_INFO << "!m_sheet";
return;
}
QAxObject *cell = m_sheet->querySubObject("Cells(int,int)", lineIndex, columnIndex);
if(!cell ) {
qDebug() << Q_FUNC_INFO << "!cell";
return;
}
cell->setProperty("Value",value);
}
Почему не работает?
cell->setProperty("Width",300);
ошибка :
QAxObject::setProperty: Property "Width" invalid, read-only or does not exist
Ширина столбца в Excel - от 0 до 255 знаков моношириного шрифта. 255 знаков - это около 1800 пикселей (коэффициент ~1,4).
Если нужно больше, можно объединить ячейки двух столбцов. Или без объединения - текст первого столбца перейдет на второй, если ячейка второго ничем не заполнена.
QAxObject *rangec = m_sheet->querySubObject( "Range(const QVariant&)",QVariant(QString("A:G")));
// получаю указатель на строку
QAxObject *razmer = rangec->querySubObject("Columns");
// устанавливаю её размер.
razmer->setProperty("ColumnWidth",80);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости