if ( file_exists( '/var/www/html/vendor/autoload.php' ) ) {
    require_once '/var/www/html/vendor/autoload.php';
}

use PhpOffice\PhpSpreadsheet\IOFactory;

add_shortcode('excel', function($atts) {
    $a = shortcode_atts(['cell' => 'A1', 'prefix' => ''], $atts);
    $fichier = '/home/admin/from-pc/Comptes.xlsb';

    if ( !file_exists( $fichier ) ) return "[Fichier absent]";

    try {
        // On force le lecteur XLSB
        $reader = IOFactory::createReader('Xlsb');
        $reader->setReadDataOnly(true);
        
        // On charge le fichier (le .xlsb est binaire, c'est déjà très rapide)
        $spreadsheet = $reader->load($fichier);
        $sheet = $spreadsheet->getSheet(0); // On prend la première feuille
        
        $cellule = $sheet->getCell($a['cell']);
        $valeur = $cellule->getCalculatedValue();

        if (is_numeric($valeur)) {
            $valeur = number_format((float)$valeur, 2, ',', ' ') . ' €';
        }

        return esc_html($a['prefix']) . (string)$valeur;
        
    } catch (\Exception $e) {
        // Ce message nous dira EXACTEMENT ce qui bloque
        return "[Erreur : " . $e->getMessage() . "]";
    }
});