Don't create the default "Sheet1" worksheet

Unless the user want to access it, or the user want to save an empty
workbook.
This commit is contained in:
Debao Zhang
2014-02-27 16:21:57 +08:00
parent f1f3b5f931
commit a1e53218bb
4 changed files with 9 additions and 5 deletions
+2 -2
View File
@@ -93,8 +93,8 @@ int main()
Document xlsx; Document xlsx;
//--------------------------------------------------------------- //---------------------------------------------------------------
//The default sheet is "Sheet1" //Create the first sheet (Otherwise, default "Sheet1" will be created)
xlsx.renameSheet("Sheet1", "Aligns & Borders"); xlsx.addSheet("Aligns & Borders");
xlsx.setColumn("B", "B", 20); xlsx.setColumn("B", "B", 20);
xlsx.setColumn("H", "H", 12); xlsx.setColumn("H", "H", 12);
xlsx.currentWorksheet()->setGridLinesVisible(false); xlsx.currentWorksheet()->setGridLinesVisible(false);
-3
View File
@@ -96,9 +96,6 @@ void DocumentPrivate::init()
if (workbook.isNull()) if (workbook.isNull())
workbook = QSharedPointer<Workbook>(new Workbook(Workbook::F_NewFromScratch)); workbook = QSharedPointer<Workbook>(new Workbook(Workbook::F_NewFromScratch));
if (workbook->sheetCount() == 0)
workbook->addSheet();
} }
bool DocumentPrivate::loadPackage(QIODevice *device) bool DocumentPrivate::loadPackage(QIODevice *device)
+4
View File
@@ -255,6 +255,8 @@ AbstractSheet *Workbook::insertSheet(int index, const QString &name, AbstractShe
AbstractSheet *Workbook::activeSheet() const AbstractSheet *Workbook::activeSheet() const
{ {
Q_D(const Workbook); Q_D(const Workbook);
if (d->sheets.isEmpty())
const_cast<Workbook*>(this)->addSheet();
return d->sheets[d->activesheetIndex].data(); return d->sheets[d->activesheetIndex].data();
} }
@@ -426,6 +428,8 @@ void Workbook::saveToXmlFile(QIODevice *device) const
{ {
Q_D(const Workbook); Q_D(const Workbook);
d->relationships->clear(); d->relationships->clear();
if (d->sheets.isEmpty())
const_cast<Workbook *>(this)->addSheet();
QXmlStreamWriter writer(device); QXmlStreamWriter writer(device);
+3
View File
@@ -308,6 +308,7 @@ void DocumentTest::testReadWriteTime()
void DocumentTest::testMoveWorksheet() void DocumentTest::testMoveWorksheet()
{ {
Document xlsx1; Document xlsx1;
xlsx1.addSheet();//Sheet1
xlsx1.addSheet(); xlsx1.addSheet();
QCOMPARE(xlsx1.sheetNames(), QStringList()<<"Sheet1"<<"Sheet2"); QCOMPARE(xlsx1.sheetNames(), QStringList()<<"Sheet1"<<"Sheet2");
@@ -320,6 +321,7 @@ void DocumentTest::testMoveWorksheet()
void DocumentTest::testCopyWorksheet() void DocumentTest::testCopyWorksheet()
{ {
Document xlsx1; Document xlsx1;
xlsx1.addSheet();//Sheet1
xlsx1.addSheet(); xlsx1.addSheet();
xlsx1.write("A1", "String"); xlsx1.write("A1", "String");
xlsx1.write("A2", 999); xlsx1.write("A2", 999);
@@ -342,6 +344,7 @@ void DocumentTest::testCopyWorksheet()
void DocumentTest::testDeleteWorksheet() void DocumentTest::testDeleteWorksheet()
{ {
Document xlsx1; Document xlsx1;
xlsx1.addSheet();//Sheet1
xlsx1.addSheet(); xlsx1.addSheet();
xlsx1.addSheet(); xlsx1.addSheet();