-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Description
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
This is being filed again because my previous report was stalled due to reporting the same bug in both 3.34 and 3.44...
Steps to reproduce the issue
Create a spreadsheet, save it in
.XLSX format
.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
<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 |
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
- I tried with a new QGIS profile
Additional context
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