Plugin QGIS pour charger des couches depuis des fichiers feuille de calcul (*.ods, *.xls, *.xlsx)
Ce plugin ajoute une nouvelle entrée Ajouter une couche feuille de calcul dans le menu Couches / Ajouter une couche et un bouton correspondant dans la barre d’outils Couches. Ces deux liens ouvrent un même boite de dialogue avec quelques options:
sélectionner le fichier
nom de la couche
sélection de la feuille
entête en début de fichier
ignorer des lignes
charger la géométrie depuis les champs x et y
Lorsque la boite de dialogue est acceptée, un fichier GDAL VRT est créé dans le dossier du fichier source des données, étendu par un suffixe .vrt, qui est lui-même chargé dans QGIS.
Lorque l’on utilise le même fichier une seconde fois, la boite de dialogue récupère les valeurs depuis le fichier .vrt existant.
A cause d’un manque de fonctionnalités dans GDAL/OGR:
configuration de la ligne d’entête pour chaque fichier ;
possibilité d’ignorer des lignes en début de fichier ;
détection correcte de la fin des fichiers .xls.
Le plugin utilise une requête de sélection SQLITE avec des paramètres décalage et limite pour extraire les données correspondantes. Lorsque l’une de ces fonctionnalités est utilisée, ceci peut avoir des effets de bord.
Avec GDAL <= 1.11.1, le plugin ne peut charger la géométrie. Dans ce mode dégradé, la case à cocher geometry est alors bloquée. Pour obtenir la version de GDAL en cours d’utilisation, lancez ces commandes dans la console python de QGIS:
import osgeo.gdal
print osgeo.gdal.__version__
Lors de l’ouverture de fichiers feuille de calcul, GDAL/OGR opère une détection automatique des types de données (Date, Entier, Réel, Chaine de caractères, ...). Cette détection automatique se produit en dehors des fonctionnalités d’entête et de lignes ignorées fournies par le plugin, lorsque vous les utilisez, GDAL/OGR ne pourra donc peut-être pas détecter correctement les types de données.
GDAL n’autorise pas la définition de la présence de la ligne d’entête pour chaque couche, ce choix est fait à travers des variables d’environnement pour chaque pilote OGR_ODS_HEADERS, OGR_XLS_HEADERS and OGR_XLSX_HEADERS, avec trois valeurs possibles FORCE, DISABLE and AUTO. Pour plus de détail, consultez la documentation des pilotes correspondants: http://www.gdal.org/drv_ods.html, http://www.gdal.org/drv_xls.html and http://www.gdal.org/drv_xlsx.html.
Vous pouvez changer ces valeurs dans les options de QGIS:
ouvrez la boite de dialogue Préférences / Options;
sélectionnez l’onglet Système, et allez dans la section Environnement;
Cochez la case Utiliser des variables personnalisées.
ajoutez une nouvelle ligne. Exemple:
Overwrite | OGR_ODS_HEADERS | FORCE
redémarrer QGIS pour que la modification soit prise en compte.
git clone git@github.com:camptocamp/QGIS-SpreadSheetLayers.git SpreadsheetLayers
ln -s SpreadsheetLayers ~/.qgis2/python/plugins/
cd SpreadsheetLayers
make
lancez QGIS et activez le plugin SpreadsheetLayers