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:
@@ -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);
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user