diff --git a/examples/xlsx/style/main.cpp b/examples/xlsx/style/main.cpp index ba1bee1..7d385ef 100644 --- a/examples/xlsx/style/main.cpp +++ b/examples/xlsx/style/main.cpp @@ -42,9 +42,7 @@ int main() xlsx.write(row, col, row+col); xlsx.setColumn(8, 15, 5.0, format4); - QXlsx::Format *format5 = xlsx.createFormat(); - format5->setNumberFormatIndex(22); - xlsx.write("A5", QDate(2013, 8, 29), format5); + xlsx.write("A5", QDate(2013, 8, 29)); QXlsx::Format *format6 = xlsx.createFormat(); format6->setPatternBackgroundColor(QColor(Qt::gray)); diff --git a/src/xlsx/xlsxworkbook.cpp b/src/xlsx/xlsxworkbook.cpp index ed1f525..02c5a27 100755 --- a/src/xlsx/xlsxworkbook.cpp +++ b/src/xlsx/xlsxworkbook.cpp @@ -51,6 +51,7 @@ WorkbookPrivate::WorkbookPrivate(Workbook *q) : strings_to_numbers_enabled = false; date1904 = false; + defaultDateFormat = QStringLiteral("dd/mm/yyyy hh:mm"); activesheet = 0; firstsheet = 0; table_count = 0; @@ -105,6 +106,19 @@ bool Workbook::isStringsToNumbersEnabled() const return d->strings_to_numbers_enabled; } +QString Workbook::defaultDateFormat() const +{ + Q_D(const Workbook); + return d->defaultDateFormat; + +} + +void Workbook::setDefaultDateFormat(const QString &format) +{ + Q_D(Workbook); + d->defaultDateFormat = format; +} + void Workbook::defineName(const QString &name, const QString &formula) { diff --git a/src/xlsx/xlsxworkbook.h b/src/xlsx/xlsxworkbook.h index 8eb2de3..2692d22 100755 --- a/src/xlsx/xlsxworkbook.h +++ b/src/xlsx/xlsxworkbook.h @@ -63,6 +63,8 @@ public: void setDate1904(bool date1904); bool isStringsToNumbersEnabled() const; void setStringsToNumbersEnabled(bool enable=true); + QString defaultDateFormat() const; + void setDefaultDateFormat(const QString &format); private: friend class Package; diff --git a/src/xlsx/xlsxworkbook_p.h b/src/xlsx/xlsxworkbook_p.h index 5571c8a..719bd48 100644 --- a/src/xlsx/xlsxworkbook_p.h +++ b/src/xlsx/xlsxworkbook_p.h @@ -48,6 +48,7 @@ public: bool strings_to_numbers_enabled; bool date1904; + QString defaultDateFormat; int x_window; int y_window; diff --git a/src/xlsx/xlsxworksheet.cpp b/src/xlsx/xlsxworksheet.cpp index 9e92a9b..7a40b1a 100755 --- a/src/xlsx/xlsxworksheet.cpp +++ b/src/xlsx/xlsxworksheet.cpp @@ -421,6 +421,10 @@ int Worksheet::writeDateTime(int row, int column, const QDateTime &dt, Format *f if (d->checkDimensions(row, column)) return -1; + if (!format) { + format = d->workbook->createFormat(); + format->setNumberFormat(d->workbook->defaultDateFormat()); + } d->cellTable[row][column] = QSharedPointer(new XlsxCellData(dt, XlsxCellData::DateTime, format)); d->workbook->styles()->addFormat(format);