diff --git a/src/xlsx/xlsxworkbook.cpp b/src/xlsx/xlsxworkbook.cpp index ee8833c..d4bd879 100755 --- a/src/xlsx/xlsxworkbook.cpp +++ b/src/xlsx/xlsxworkbook.cpp @@ -251,6 +251,8 @@ bool Workbook::renameWorksheet(int index, const QString &name) bool Workbook::deleteWorksheet(int index) { Q_D(Workbook); + if (d->worksheets.size() <= 1) + return false; if (index < 0 || index >= d->worksheets.size()) return false; d->worksheets.removeAt(index); diff --git a/tests/auto/document/tst_documenttest.cpp b/tests/auto/document/tst_documenttest.cpp index 25ce880..f83436c 100644 --- a/tests/auto/document/tst_documenttest.cpp +++ b/tests/auto/document/tst_documenttest.cpp @@ -343,8 +343,10 @@ void DocumentTest::testDeleteWorksheet() QCOMPARE(xlsx1.worksheetNames(), QStringList()<<"Sheet1"<<"Sheet3"); xlsx1.deleteWorksheet("Sheet1"); QCOMPARE(xlsx1.worksheetNames(), QStringList()<<"Sheet3"); -// xlsx1.deleteWorksheet("Sheet3"); -// QCOMPARE(xlsx1.worksheetNames(), QStringList()<<"Sheet4"); + + //Cann't delete the last worksheet + xlsx1.deleteWorksheet("Sheet3"); + QCOMPARE(xlsx1.worksheetNames(), QStringList()<<"Sheet3"); } QTEST_APPLESS_MAIN(DocumentTest)