Rust | Performance | SQL Standard

Executez des requetes SQL sur vos fichiers Excel

Une librairie haute performance ecrite en Rust pour interroger vos fichiers .xlsx avec la puissance du SQL standard. Reutilisez vos requetes existantes sans modification.

100% Rust
ANSI SQL Compatible
0 Dependencies Runtime
excel-sql.exe
PS> .\excel-sql.exe data.xlsx
ExcelAsSQL Shell v1.0.0 File: data.xlsx Tables: clients, commandes, produits Type .help for commands, TAB for completion, Ctrl+D to exit.
sql> SELECT nom, email FROM clients WHERE age >= 18
+------------------+---------------------------+ | nom | email | +------------------+---------------------------+ | Dupont Marie | marie.dupont@email.fr | | Martin Jean | j.martin@company.com | | Bernard Sophie | sophie.b@webmail.net | +------------------+---------------------------+ 3 row(s) returned in 0.012s
sql> |

Fonctionnalites puissantes

Tout ce dont vous avez besoin pour interroger vos donnees Excel

🔍

SQL Standard ANSI

SELECT, WHERE, ORDER BY, LIMIT, DISTINCT, sous-requetes... Reutilisez vos requetes existantes sans modification.

Performance Rust

Execution rapide et faible empreinte memoire grace a Rust. Lecture optimisee des fichiers .xlsx.

💻

Shell Interactif

Auto-completion TAB, historique, coloration syntaxique, et commandes shell integrees.

📊

40+ Fonctions

Fonctions mathematiques, texte, date et agregation compatibles Excel et SQL.

📦

Export Multi-format

Exportez vos resultats en CSV, JSON ou affichez-les en tableau formate.

🔗

Variables & Pipes

Stockez des requetes dans des variables et chainez les commandes avec des pipes.

Demo Interactive

Decouvrez la puissance d'ExcelAsSQL en action

Exemples de requetes

ExcelAsSQL Shell

SQL Complet

Syntaxe SQL standard compatible avec vos bases de donnees

Clauses supportees

  • SELECT projection de colonnes
  • FROM selection de table (onglet)
  • WHERE filtrage conditionnel
  • ORDER BY tri ASC/DESC
  • LIMIT / OFFSET pagination
  • DISTINCT valeurs uniques
  • AS alias de colonnes

Operateurs WHERE

  • =, <>, >, >=, <, <=
  • LIKE pattern matching
  • IN (liste) valeurs multiples
  • BETWEEN intervalles
  • IS NULL / IS NOT NULL
  • AND, OR, NOT logique booleenne
  • EXISTS sous-requetes

Sous-requetes imbriquees

SELECT * FROM clients 
WHERE id IN (
  SELECT client_id 
  FROM commandes 
  WHERE montant > 500
)

Compatibilite

MySQL PostgreSQL SQLite SQL Server Oracle

Reutilisez vos requetes existantes directement sur Excel

Fonctions integrees

Plus de 40 fonctions compatibles Excel et SQL

FonctionDescriptionExemple
NOW()Date et heure actuellesSELECT NOW()
TODAY()Date du jourSELECT TODAY()
YEAR(date)Extraire l'anneeSELECT YEAR(Date) FROM t
MONTH(date)Extraire le moisSELECT MONTH(Date) FROM t
DAY(date)Extraire le jourSELECT DAY(Date) FROM t
DATEADD(u,n,d)Ajouter a une dateDATEADD('month',1,Date)
DATEDIFF(u,d1,d2)Difference entre datesDATEDIFF('day',d1,d2)
FonctionDescriptionExemple
ABS(n)Valeur absolueSELECT ABS(-42)
ROUND(n,d)ArrondirSELECT ROUND(3.14159,2)
FLOOR(n)Arrondi inferieurSELECT FLOOR(3.7)
CEILING(n)Arrondi superieurSELECT CEILING(3.2)
POWER(n,p)PuissanceSELECT POWER(2,10)
SQRT(n)Racine carreeSELECT SQRT(144)
MOD(n,d)ModuloSELECT MOD(17,5)
FonctionDescriptionExemple
CONCAT(a,b,...)ConcatenerCONCAT('Hello',' ','World')
LEFT(s,n)N premiers caracteresSELECT LEFT(nom,5)
RIGHT(s,n)N derniers caracteresSELECT RIGHT(nom,3)
LEN(s)LongueurSELECT LEN(description)
UPPER(s)MajusculesSELECT UPPER(nom)
LOWER(s)MinusculesSELECT LOWER(email)
TRIM(s)Supprimer espacesSELECT TRIM(texte)
FonctionDescriptionExemple
IF(cond,v,f)ConditionIF(age>18,'Adulte','Mineur')
AND(a,b,...)ET logiqueAND(x>0, x<100)
OR(a,b,...)OU logiqueOR(type='A', type='B')
NOT(a)NegationNOT(ISNULL(val))
ISNULL(v)Test nullISNULL(email)
COALESCE(a,b,...)Premier non-nullCOALESCE(tel,'N/A')
SWITCH(v,c1,r1,...)Switch/caseSWITCH(status,'A','Actif')
FonctionDescriptionExemple
SUM(...)SommeSELECT SUM(montant)
AVG(...)MoyenneSELECT AVG(prix)
MIN(...)MinimumSELECT MIN(date)
MAX(...)MaximumSELECT MAX(score)
COUNT(...)CompterSELECT COUNT(id)
MEDIAN(...)MedianeSELECT MEDIAN(valeur)
STDEV(...)Ecart-typeSELECT STDEV(mesure)

Commandes Shell

Un environnement interactif complet

Navigation & Decouverte

.tablesLister les tables
.schema <table>Afficher le schema
.describe <table>Description detaillee
.columns <table>Liste des colonnes

Format & Export

.format table|csv|jsonChanger le format
.headers on|offAfficher en-tetes
.export <t> <f> <p>Exporter vers fichier

Variables

.set $var = queryStocker une requete
.exec $varExecuter variable
.print $varAfficher contenu
.varsLister variables

Utilitaires

.helpAide complete
.historyHistorique commandes
.clearEffacer ecran
.exitQuitter

Pret a commencer ?

Telechargez ExcelAsSQL et interrogez vos fichiers Excel en quelques secondes.

Ou compilez depuis les sources :

git clone http://github && cd ExcelAsSQL && cargo build --release