jsHtml2Ods/README.md

39 lines
2.2 KiB
Markdown

# jsHtml2Ods
Conversion d'un tableau HTML en fichier ODS disponible en téléchargement
## Attributs
L'exporation peut être configurée à l'aide d'attributs nommés `data-od-*`. Ils sont tous facultatifs.
### Élément `<table>`
- `data-od-sheetname` : nom de la feuille dans le fichier résultant
- `data-od-currency` : code ISO en trois lettres de la monnaie par défaut de la table
- `data-od-fixed-rows` : nombre de lignes fixes
- `data-od-fixed-columns` : nombre de colonnes fixes
### Éléments `<col>` ou `<colgroup>`
- `data-od-style` : style de la colonne
- `data-od-width` : largeur de la colonne (avec l'unité, par exemple « 6cm »), prend le pas sur la largeur définie dans le style, permet de définir la largeur sans avoir à définir le style
### Élément `<tr>`
- `data-od-style` : style de la ligne
### Éléments `<td>` ou `<th>`
- `data-od-style` : style de la cellule
- `data-od-type` : type des données de la cellule (valeurs possibles : `number`, `date` ou `currency`)
- `data-od-text` : texte de la cellule (alias : `data-od-text`), voir ci-dessous
- `data-od-currency` : code ISO en trois lettres de la monnaie de la cellule, n'a d'intérêt que si la cellule est de type `currency` et peut être défini au niveau de l'élément `<table>`
#### Texte d'une cellule
Par défaut, le texte de la cellule dans le fichier résultant est le texte brut de l'élément `<td>` ou `<th>`. Il est possible d'indiquer un texte alternatif via l'attribut `data-od-text`. Ce texte alternatif est souvent nécessaire dans le cas de cellule de type `number`, `date` ou `currency` ; en effet, la valeur de la cellule doit être un nombre valide ou une date au format ISO pour être traitée correctement lors de l'exporation.
Au lieu de l'attribut `data-od-text`, la valeur peut être définie dans l'attribut `data-text`, ce qui permet la comptabilité avec l'extension JQuery TableSorter. Si les deux attributs sont présents, `data-od-text` a la préséance.
Lorsque le texte de la cellule est le texte brut de l'élément, il est possible d'ignorer un élément enfant **direct** de l'élément `<td>` ou `<th>` en lui donnant l'attribut `data-od-hidden` avec n'importe quelle valeur non nulle (1 ou true sont conseillés)