[general]
name=Polygon & GMR
qgisMinimumVersion=3.28
qgisMaximumVersion=3.99
description=Join a polygon layer with an Excel file (GMR): reads the Excel workbook with its real column headers, matches on a join field you choose, and outputs only the polygons whose codes match, keeping the polygon attribute table enriched with the Excel columns.
about=Polygon & GMR links your plots (polygons) to a management table (Excel file, GMR). The plugin takes two inputs: a polygon layer (already loaded in QGIS or imported from a file such as Shapefile, GeoPackage or GeoJSON) and an Excel file (.xlsx / .xls). It reads every sheet of the workbook and extracts the real column headers, which are listed grouped by sheet, so you can pick exactly which header to join on. You then choose the join field on the polygon side and the matching header on the Excel side. The plugin performs the cross-check: the output layer contains only the polygons whose code matches a row of the Excel file, with the original polygon attribute table completed by the columns of the Excel file. Code comparison is robust (trimmed spaces, integers read as reals such as 12.0 versus 12, optional case-insensitive matching). A detailed log reports the number of matches, polygons with no match and Excel codes that were not found. Excel reading relies on GDAL/OGR shipped with QGIS, so there is no external dependency (no pandas, no openpyxl), and everything works fully offline with your local data. Typical use: matching agricultural or cadastral plots with a producer register, for example for EUDR due diligence in West African cooperatives. VERSION FRANCAISE - Polygon & GMR relie vos parcelles (polygones) a un tableau de gestion (fichier Excel, GMR). Deux entrees : une couche de polygones (chargee dans QGIS ou depuis un fichier) et un fichier Excel (.xlsx / .xls) dont il lit toutes les feuilles et les vrais en-tetes de colonnes, presentes regroupes par feuille. Vous choisissez le champ de jointure cote polygone et l'en-tete correspondante cote Excel, puis le plugin realise le croisement : la couche de sortie ne contient que les polygones dont le code concorde avec une ligne du fichier Excel, avec la table attributaire d'origine des polygones completee par les colonnes du fichier Excel. Un journal detaille indique le nombre de concordances, de polygones sans correspondance et de codes Excel non trouves. Fonctionne entierement hors ligne, sans dependance externe.
version=1.1.1
author=Jean David Konan
email=jeandavidkyao@gmail.com
tracker=https://github.com/jeandavid23/polygon-gmr/issues
repository=https://github.com/jeandavid23/polygon-gmr
homepage=https://github.com/jeandavid23/polygon-gmr
category=Vector
icon=icons/icon.svg
experimental=False
deprecated=False
tags=polygon,excel,xlsx,join,jointure,gmr,attribute,table,cadastre,EUDR,agriculture
hasProcessingProvider=no
changelog=1.1.1 - Security fix required by the QGIS plugin security scan (Bandit B110). Every try/except block that silently swallowed errors with a bare pass has been removed: failures in the Excel sheet listing and in the GDAL/OGR reader are now reported in the QGIS message log, and the dark-theme detection no longer wraps its logic in a broad exception handler. No functional change for the user.
    1.1.0 - Reliable Excel header reading. The workbook is now read directly through GDAL/OGR: the real column headers are recovered even when the driver falls back to generic names (Field1, Field2), fully empty rows above the table (title or logo) are skipped, and an empty header cell gets a safe fallback name instead of NULL. The join list now shows every header of every sheet, grouped by sheet, so the join column can be picked across the whole workbook. Joining is done by column position, which makes it independent of field naming. English description and changelog, GNU GPL v3 licence file added.
    1.0.0 - Initial release. Two inputs (polygon layer + Excel file). Reads every sheet of the workbook and lists the real column headers grouped by sheet. Choice of the join field on both sides. Output layer with only the matching polygons, polygon attribute table enriched with the Excel columns. Robust code comparison (trimmed spaces, 12.0 versus 12, optional case-insensitive matching). Summary log. No external dependency: Excel is read through GDAL/OGR shipped with QGIS.
