mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-28 00:17:30 -05:00
Merge pull request #2670 from pvalsecc/xlsx_ods
Add saveAs XLSX and ODS
This commit is contained in:
commit
31d981c49c
@ -1544,6 +1544,57 @@ QMap<QString, QgsVectorFileWriter::MetaData> QgsVectorFileWriter::initMetaData()
|
||||
layerOptions
|
||||
)
|
||||
);
|
||||
|
||||
// XLSX
|
||||
datasetOptions.clear();
|
||||
layerOptions.clear();
|
||||
|
||||
layerOptions.insert( "OGR_XLSX_FIELD_TYPES", new SetOption(
|
||||
QObject::tr( "By default, the driver will try to detect the data type of fields. If set "
|
||||
"to STRING, all fields will be of String type." ),
|
||||
QStringList()
|
||||
<< "AUTO"
|
||||
<< "STRING",
|
||||
"AUTO", // Default value
|
||||
false // Allow None
|
||||
) );
|
||||
|
||||
driverMetadata.insert( "XLSX",
|
||||
MetaData(
|
||||
"MS Office Open XML spreadsheet",
|
||||
QObject::tr( "MS Office Open XML spreadsheet" ),
|
||||
"*.xlsx",
|
||||
"xlsx",
|
||||
datasetOptions,
|
||||
layerOptions
|
||||
)
|
||||
);
|
||||
|
||||
// ODS
|
||||
datasetOptions.clear();
|
||||
layerOptions.clear();
|
||||
|
||||
layerOptions.insert( "OGR_ODS_FIELD_TYPES", new SetOption(
|
||||
QObject::tr( "By default, the driver will try to detect the data type of fields. If set "
|
||||
"to STRING, all fields will be of String type." ),
|
||||
QStringList()
|
||||
<< "AUTO"
|
||||
<< "STRING",
|
||||
"AUTO", // Default value
|
||||
false // Allow None
|
||||
) );
|
||||
|
||||
driverMetadata.insert( "ODS",
|
||||
MetaData(
|
||||
"Open Document Spreadsheet",
|
||||
QObject::tr( "Open Document Spreadsheet" ),
|
||||
"*.ods",
|
||||
"ods",
|
||||
datasetOptions,
|
||||
layerOptions
|
||||
)
|
||||
);
|
||||
|
||||
return driverMetadata;
|
||||
}
|
||||
|
||||
@ -2514,6 +2565,20 @@ bool QgsVectorFileWriter::driverMetadata( const QString& driverName, QString &lo
|
||||
glob = "*.gdb";
|
||||
ext = "gdb";
|
||||
}
|
||||
else if ( driverName.startsWith( "XLSX" ) )
|
||||
{
|
||||
longName = "MS Office Open XML spreadsheet [XLSX]";
|
||||
trLongName = QObject::tr( "MS Office Open XML spreadsheet [XLSX]" );
|
||||
glob = "*.xlsx";
|
||||
ext = "xlsx";
|
||||
}
|
||||
else if ( driverName.startsWith( "ODS" ) )
|
||||
{
|
||||
longName = "Open Document Spreadsheet";
|
||||
trLongName = QObject::tr( "Open Document Spreadsheet [ODS]" );
|
||||
glob = "*.ods";
|
||||
ext = "ods";
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user