使用C ++ Qt和Qt Xlsx模块的“Large”xlsx文件读取

我正在使用Qt框架在C ++中开发一个应用程序,但是我需要读取一个.xslx文件以将其导入到一个sqlite数据库中。 我正在使用Qt Xlsx模块,但是我发现一些困难,因为我的程序在执行期间在某个随机点崩溃。 该文件大约有1500行和10列。 我能够读取700和1000行之间,但然后崩溃。 我认为这是一个内存问题,但我无法使用Valgrind,因为我在Mac OS X系统上。 我的代码的相关部分如下。

void Controller::ImportDatabase(const QString &filepath) { QStringList* person_fields = new QStringList; QXlsx::Document *xlsx_database = new QXlsx::Document(filepath); int number_of_row = xlsx_database->dimension().lastRow(); int number_of_column = xlsx_database->dimension().lastColumn(); for (int row = 2; row <= number_of_row; ++row) { ++count; qDebug() << "count: " << count; for(int column = 0; column < number_of_column ; ++column) { if ((QXlsx::Cell *cell = xlsx_database->cellAt(row, column))) { person_fields->append(cell->value().toString()); delete cell; } } qDebug() << "NOME: " << person_fields->at(0); //Create a new Person and pass its pointer around: all commented anyway person_fields->clear(); delete cell; } delete person_fields; delete xlsx_database; } 

任何build议或想法将不胜感激。

根本不必删除cell ,因为它由QXlsx :: Document拥有。