Add default datetime format for workbook

This commit is contained in:
Debao Zhang
2013-10-16 09:58:42 +08:00
parent e19657945e
commit 895a30524d
5 changed files with 22 additions and 3 deletions
+1 -3
View File
@@ -42,9 +42,7 @@ int main()
xlsx.write(row, col, row+col); xlsx.write(row, col, row+col);
xlsx.setColumn(8, 15, 5.0, format4); xlsx.setColumn(8, 15, 5.0, format4);
QXlsx::Format *format5 = xlsx.createFormat(); xlsx.write("A5", QDate(2013, 8, 29));
format5->setNumberFormatIndex(22);
xlsx.write("A5", QDate(2013, 8, 29), format5);
QXlsx::Format *format6 = xlsx.createFormat(); QXlsx::Format *format6 = xlsx.createFormat();
format6->setPatternBackgroundColor(QColor(Qt::gray)); format6->setPatternBackgroundColor(QColor(Qt::gray));
+14
View File
@@ -51,6 +51,7 @@ WorkbookPrivate::WorkbookPrivate(Workbook *q) :
strings_to_numbers_enabled = false; strings_to_numbers_enabled = false;
date1904 = false; date1904 = false;
defaultDateFormat = QStringLiteral("dd/mm/yyyy hh:mm");
activesheet = 0; activesheet = 0;
firstsheet = 0; firstsheet = 0;
table_count = 0; table_count = 0;
@@ -105,6 +106,19 @@ bool Workbook::isStringsToNumbersEnabled() const
return d->strings_to_numbers_enabled; 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) void Workbook::defineName(const QString &name, const QString &formula)
{ {
+2
View File
@@ -63,6 +63,8 @@ public:
void setDate1904(bool date1904); void setDate1904(bool date1904);
bool isStringsToNumbersEnabled() const; bool isStringsToNumbersEnabled() const;
void setStringsToNumbersEnabled(bool enable=true); void setStringsToNumbersEnabled(bool enable=true);
QString defaultDateFormat() const;
void setDefaultDateFormat(const QString &format);
private: private:
friend class Package; friend class Package;
+1
View File
@@ -48,6 +48,7 @@ public:
bool strings_to_numbers_enabled; bool strings_to_numbers_enabled;
bool date1904; bool date1904;
QString defaultDateFormat;
int x_window; int x_window;
int y_window; int y_window;
+4
View File
@@ -421,6 +421,10 @@ int Worksheet::writeDateTime(int row, int column, const QDateTime &dt, Format *f
if (d->checkDimensions(row, column)) if (d->checkDimensions(row, column))
return -1; return -1;
if (!format) {
format = d->workbook->createFormat();
format->setNumberFormat(d->workbook->defaultDateFormat());
}
d->cellTable[row][column] = QSharedPointer<XlsxCellData>(new XlsxCellData(dt, XlsxCellData::DateTime, format)); d->cellTable[row][column] = QSharedPointer<XlsxCellData>(new XlsxCellData(dt, XlsxCellData::DateTime, format));
d->workbook->styles()->addFormat(format); d->workbook->styles()->addFormat(format);