С помощью библиотеки QtXlsx взятой отсюда https://github.com/VSRonin/QtXlsxWriter пытаюсь записать файл отчёта в формате *.xlsx
void EditorWindow::writeTextRecord()
{
QString fn = reportData.name + "_record" + ".xlsx";
QXlsx::Document *xlsx = new QXlsx::Document(fn);
unsigned int row = 1;
unsigned int col = 1;
// запись заголовков таблицы
for(QHash<QString, double>::const_iterator row_it = paramList[0].constBegin(); row_it != paramList[0].constEnd(); row_it++)
{
QString key = row_it.key();
xlsx->write(row , col++, (key + "_REAL"));
xlsx->write(row , col++, key);
}
// запись данных
for(QVector<QHash<QString, double>>::const_iterator it = paramList.constBegin(); it != paramList.constEnd(); it++)
{
row += 1;
col = 1;
xlsx->write(row, col++, QString::number(static_cast<double>(row - 1) * 0.0625).replace('.' , ','));
for(QHash<QString, double>::const_iterator row_it = it->constBegin(); row_it != it->constEnd(); row_it++)
{
QString key = row_it.key();
double val = row_it.value();
double realValue = paramList_real[row - 1][key];
xlsx->write(row, col++, QString::number(realValue).replace('.' , ','));
xlsx->write(row, col++, QString::number(val).replace('.' , ','));
}
}
xlsx->save();
}
Объем данных достаточно большой, приблизительно 201x1000. При записи в 288 строку 1 столбца приложение выводит ASSERT failure in QVector::operator[]: "index out of range" и закрывается.
Кто-нибудь сталкивался с подобным?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Прошу вашей помощи в объяснении множественного наследованияВозникают проблемы с наследованием методов
QtCreator не видит библиотеку QImage, хотя сам мне её предлагает в списке