Une librairie haute performance ecrite en Rust pour interroger vos fichiers .xlsx avec la puissance du SQL standard. Reutilisez vos requetes existantes sans modification.
Tout ce dont vous avez besoin pour interroger vos donnees Excel
SELECT, WHERE, ORDER BY, LIMIT, DISTINCT, sous-requetes... Reutilisez vos requetes existantes sans modification.
Execution rapide et faible empreinte memoire grace a Rust. Lecture optimisee des fichiers .xlsx.
Auto-completion TAB, historique, coloration syntaxique, et commandes shell integrees.
Fonctions mathematiques, texte, date et agregation compatibles Excel et SQL.
Exportez vos resultats en CSV, JSON ou affichez-les en tableau formate.
Stockez des requetes dans des variables et chainez les commandes avec des pipes.
Decouvrez la puissance d'ExcelAsSQL en action
Syntaxe SQL standard compatible avec vos bases de donnees
SELECT projection de colonnesFROM selection de table (onglet)WHERE filtrage conditionnelORDER BY tri ASC/DESCLIMIT / OFFSET paginationDISTINCT valeurs uniquesAS alias de colonnes=, <>, >, >=, <, <=LIKE pattern matchingIN (liste) valeurs multiplesBETWEEN intervallesIS NULL / IS NOT NULLAND, OR, NOT logique booleenneEXISTS sous-requetesSELECT * FROM clients
WHERE id IN (
SELECT client_id
FROM commandes
WHERE montant > 500
)
Reutilisez vos requetes existantes directement sur Excel
Plus de 40 fonctions compatibles Excel et SQL
| Fonction | Description | Exemple |
|---|---|---|
NOW() | Date et heure actuelles | SELECT NOW() |
TODAY() | Date du jour | SELECT TODAY() |
YEAR(date) | Extraire l'annee | SELECT YEAR(Date) FROM t |
MONTH(date) | Extraire le mois | SELECT MONTH(Date) FROM t |
DAY(date) | Extraire le jour | SELECT DAY(Date) FROM t |
DATEADD(u,n,d) | Ajouter a une date | DATEADD('month',1,Date) |
DATEDIFF(u,d1,d2) | Difference entre dates | DATEDIFF('day',d1,d2) |
| Fonction | Description | Exemple |
|---|---|---|
ABS(n) | Valeur absolue | SELECT ABS(-42) |
ROUND(n,d) | Arrondir | SELECT ROUND(3.14159,2) |
FLOOR(n) | Arrondi inferieur | SELECT FLOOR(3.7) |
CEILING(n) | Arrondi superieur | SELECT CEILING(3.2) |
POWER(n,p) | Puissance | SELECT POWER(2,10) |
SQRT(n) | Racine carree | SELECT SQRT(144) |
MOD(n,d) | Modulo | SELECT MOD(17,5) |
| Fonction | Description | Exemple |
|---|---|---|
CONCAT(a,b,...) | Concatener | CONCAT('Hello',' ','World') |
LEFT(s,n) | N premiers caracteres | SELECT LEFT(nom,5) |
RIGHT(s,n) | N derniers caracteres | SELECT RIGHT(nom,3) |
LEN(s) | Longueur | SELECT LEN(description) |
UPPER(s) | Majuscules | SELECT UPPER(nom) |
LOWER(s) | Minuscules | SELECT LOWER(email) |
TRIM(s) | Supprimer espaces | SELECT TRIM(texte) |
| Fonction | Description | Exemple |
|---|---|---|
IF(cond,v,f) | Condition | IF(age>18,'Adulte','Mineur') |
AND(a,b,...) | ET logique | AND(x>0, x<100) |
OR(a,b,...) | OU logique | OR(type='A', type='B') |
NOT(a) | Negation | NOT(ISNULL(val)) |
ISNULL(v) | Test null | ISNULL(email) |
COALESCE(a,b,...) | Premier non-null | COALESCE(tel,'N/A') |
SWITCH(v,c1,r1,...) | Switch/case | SWITCH(status,'A','Actif') |
| Fonction | Description | Exemple |
|---|---|---|
SUM(...) | Somme | SELECT SUM(montant) |
AVG(...) | Moyenne | SELECT AVG(prix) |
MIN(...) | Minimum | SELECT MIN(date) |
MAX(...) | Maximum | SELECT MAX(score) |
COUNT(...) | Compter | SELECT COUNT(id) |
MEDIAN(...) | Mediane | SELECT MEDIAN(valeur) |
STDEV(...) | Ecart-type | SELECT STDEV(mesure) |
Un environnement interactif complet
.tablesLister les tables.schema <table>Afficher le schema.describe <table>Description detaillee.columns <table>Liste des colonnes.format table|csv|jsonChanger le format.headers on|offAfficher en-tetes.export <t> <f> <p>Exporter vers fichier.set $var = queryStocker une requete.exec $varExecuter variable.print $varAfficher contenu.varsLister variables.helpAide complete.historyHistorique commandes.clearEffacer ecran.exitQuitterTelechargez ExcelAsSQL et interrogez vos fichiers Excel en quelques secondes.
Ou compilez depuis les sources :
git clone http://github && cd ExcelAsSQL && cargo build --release