jqnatividad / qsv

Blazing-fast Data-Wrangling toolkit
https://qsv.dathere.com
The Unlicense
2.51k stars 71 forks source link

`luau`: add advanced Excel writer helper functions #1474

Open jqnatividad opened 11 months ago

jqnatividad commented 11 months ago

With the to excel command, we already have a robust CSV to Excel exporter.

However, it doesn't allow you to:

Leveraging the rust_xlsxwriter crate, add Excel helper functions to the luau DSL so users can create advanced, formatted Excel spreadsheets using the qsv scripting DSL.

ondohotola commented 11 months ago

Very helpful

jqnatividad commented 11 months ago

Include a reference recipe as well that creates a formatted Excel with:

jqnatividad commented 11 months ago

Per https://github.com/DOI-DO/dcat-us/issues/131, also add a "Machine-readable" sheet as the last sheet in the workbook.

The Machine-readable sheet will have all the relevant metadata elements for the package/resource, and should hew closely to the configured DCAT profile (use DCAT-US 3.0 for the initial reference implementation).

The format of the "Machine-readable" sheet should be as follows:

After the metadata header section, a "normal", RFC-4180 compliant CSV file follows. The CSV file will be the machine-readable version of the "Data" in Sheet 1.

The recipe can then be called from Datapusher+ when populating the CKAN datastore.

Data exported from CKAN can also invoke the recipe to create an "Annotated Excel export" of a dataset.

jqnatividad commented 3 weeks ago

Do this once mlua 0.10.0 is released https://github.com/mlua-rs/mlua/blob/main/docs/release_notes/v0.10.md