Skip to content

QGIS 3.34 … 3.44.6 correctly handles field names of dragged & dropped .XLSX spread-sheets but not .ODS #64512

@fgfletcher

Description

@fgfletcher

What is the bug or the crash?

Dragging & dropping a .XLSX spreadsheet onto a QGIS window correctly recognizes the first record as field names. However, dropping a .ODS file of the same data treats the first record as data and the field names are the default "Field1, Field2,..."
Apparently the code to import a dropped .XLSX assumes the 1st row is field names while the code to import a dropped .ODS does not.
It would be good to have consistent handling, and even better to be able to select whether the first record is field names or not (as is done in Layer > Data Source Manager > Delimited Text

Steps to reproduce the issue

Create a spreadsheet, save it in

  1. .XLSX format
  2. .ODT
    the spreadsheet should contain field names in the first row, followed by one or more data rows

Open a project in QGIS,
Drag and drop each test spreadsheet into the window
Compare the new layers' Attribute tables
The table from the .XLSX will use the field names from Row 1 of the spreadsheet, the first feature in the table will come from Row 2 of the spreadsheet
The table from the .ODT will use "Field1, Field2,..." as field names and the first feature in the table will come from Row 1 of the spreadsheet

Versions

TESTED BOTH ON
QGIS 3.34.15 under OSX 10.13.6 (High Sierra) on Mac mini (late 2012)
QGIS 3.44.5 under OSX 15.7.2 (Sequoia) on Mac mini (2018)

3.34.15 QGIS environment:

<style type="text/css"> p, li { white-space: pre-wrap; } </style>
QGIS version 3.34.15-Prizren QGIS code revision 386f258
Qt version 5.15.2
Python version 3.9.5
GDAL/OGR version 3.3.2
PROJ version 8.1.1
EPSG Registry database version v10.028 (2021-07-07)
GEOS version 3.9.1-CAPI-1.14.2
SQLite version 3.35.2
PDAL version 2.3.0
PostgreSQL client version unknown
SpatiaLite version 5.0.1
QWT version 6.1.6
QScintilla2 version 2.11.5
OS version macOS High Sierra (10.13)
       
Active Python plugins
qarcconnect3 0.9
FreehandRasterGeoreferencer 0.8.3
DigitizingTools 1.5.3
ee_plugin 0.1.4
BezierEditing version 1.3.10
processing_saga_nextgen 1.0.0
mask 1.11.0
MemoryLayerSaver 5.0.2
qgis_resource_sharing 1.2.0
valuetool 3.1.0
shapetools 3.5.1
processing 2.12.99
otbprovider 2.12.99
grassprovider 2.12.99
db_manager 0.1.20
MetaSearch 0.3.6
QGIS version 3.34.15-Prizren QGIS code revision [386f258](https://github.com/qgis/QGIS/commit/386f2583a69) Qt version 5.15.2 Python version 3.9.5 GDAL/OGR version 3.3.2 PROJ version 8.1.1 EPSG Registry database version v10.028 (2021-07-07) GEOS version 3.9.1-CAPI-1.14.2 SQLite version 3.35.2 PDAL version 2.3.0 PostgreSQL client version unknown SpatiaLite version 5.0.1 QWT version 6.1.6 QScintilla2 version 2.11.5 OS version macOS High Sierra (10.13)

Active Python plugins
qarcconnect3
0.9
FreehandRasterGeoreferencer
0.8.3
DigitizingTools
1.5.3
ee_plugin
0.1.4
BezierEditing
version 1.3.10
processing_saga_nextgen
1.0.0
mask
1.11.0
MemoryLayerSaver
5.0.2
qgis_resource_sharing
1.2.0
valuetool
3.1.0
shapetools
3.5.1
processing
2.12.99
otbprovider
2.12.99
grassprovider
2.12.99
db_manager
0.1.20
MetaSearch
0.3.6

=============================================
3.44.7 QGIS environment:

<style type="text/css"> p, li { white-space: pre-wrap; } </style>
QGIS version 3.44.6-Solothurn
QGIS code revision 386cd76
 
Libraries
Qt version 5.15.18
Python version 3.12.11
GDAL version 3.12.0 — Chicoutimi
PROJ version 9.7.0
EPSG Registry database version v12.022 (2025-08-30)
GEOS version 3.14.1-CAPI-1.20.5
SQLite version 3.50.4
PDAL version 2.9.2
PostgreSQL client version 16.9
SpatiaLite version 5.1.0
QWT version 6.2.1
QScintilla2 version 2.13.4
OS version macOS 15.7
 
Active Python plugins
FreehandRasterGeoreferencer 0.8.3
DigitizingTools 1.5.3
wbt_for_qgis 1.0.9
stationlines 0.2.1
BezierEditing version 1.3.10
processing_saga_nextgen 1.1.0
mask 1.11.0
valuetool 3.1.0
shapetools 3.5.1
coordinate_capture 0.2
processing 2.12.99
grassprovider 2.12.99
db_manager 0.1.20
MetaSearch 0.3.6
QGIS version 3.44.6-Solothurn QGIS code revision [386cd76](https://github.com/qgis/QGIS/commit/386cd767)

Libraries
Qt version
5.15.18
Python version
3.12.11
GDAL version
3.12.0 ? Chicoutimi
PROJ version
9.7.0
EPSG Registry database version
v12.022 (2025-08-30)
GEOS version
3.14.1-CAPI-1.20.5
SQLite version
3.50.4
PDAL version
2.9.2
PostgreSQL client version
16.9
SpatiaLite version
5.1.0
QWT version
6.2.1
QScintilla2 version
2.13.4
OS version
macOS 15.7

Active Python plugins
FreehandRasterGeoreferencer
0.8.3
DigitizingTools
1.5.3
wbt_for_qgis
1.0.9
stationlines
0.2.1
BezierEditing
version 1.3.10
processing_saga_nextgen
1.1.0
mask
1.11.0
valuetool
3.1.0
shapetools
3.5.1
coordinate_capture
0.2
processing
2.12.99
grassprovider
2.12.99
db_manager
0.1.20
MetaSearch
0.3.6

Supported QGIS version

  • I'm running a supported QGIS version according to the roadmap.

New profile

Additional context

The QGIS 3.44.6 inherently had a new profile, so I've checked the above box..

It would be good to have consistent handling, and even better to be able to select whether the first record is field names or not (as is done in Layer > Data Source Manager > Delimited Text

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugEither a bug report, or a bug fix. Let's hope for the latter!UpstreamNeeds changes in an upstream library (like Qt, Proj, GDAL, ...)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions