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
+14
View File
@@ -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)
{
+2
View File
@@ -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;
+1
View File
@@ -48,6 +48,7 @@ public:
bool strings_to_numbers_enabled;
bool date1904;
QString defaultDateFormat;
int x_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))
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->workbook->styles()->addFormat(format);