TiddlyWiki5/plugins/tiddlywiki/xlsx-utils
jeremy@jermolene.com 524cee1489 XLSX plugin: Add support for numeric fields 2023-01-30 21:42:44 +00:00
..
docs Revert "Add text/vnd.tiddlywiki to system tiddlers within plugins that should be wikified (c.f. #2883)" 2017-06-24 17:48:32 +01:00
files xlsx-utils plugin: Update to latest version of xlsx.js 2023-01-30 09:43:18 +00:00
controls.tid XLSX plugin: Add support for numeric fields 2023-01-30 21:42:44 +00:00
deserializer.js Xlsx-utils: Fix crash when using deserializer 2021-01-16 15:37:50 +00:00
help-excel-import.tid Revert "Add text/vnd.tiddlywiki to system tiddlers within plugins that should be wikified (c.f. #2883)" 2017-06-24 17:48:32 +01:00
importer.js XLSX plugin: Add support for numeric fields 2023-01-30 21:42:44 +00:00
plugin.info Use the dependents and parent-plugin fields to automatically install dependencies 2019-09-25 21:57:22 +01:00
readme.tid Improve XLSX docs 2017-12-12 13:58:26 +00:00
startup.js Fix xlsx-utils startup module name 2016-12-15 17:13:32 +00:00
styles.tid Missed off previous commit (54d0cb2021) 2016-10-23 23:27:35 +01:00
xlsx-import-command.js Use this.wiki where applicable (#4601) 2020-05-06 11:27:50 +01:00

readme.tid

title: $:/plugins/tiddlywiki/xlsx-utils/readme

This plugin provides a flexible way to import tiddlers from Excel files. It is based on the library [[js-xlsx|https://github.com/SheetJS/js-xlsx]].

The plugin uses //import specifications// to determine how incoming spreadsheets are processed. You can view, create and edit import specifications in the control panel "XLSX Utilities" tab, or directly in the [[plugin controls|$:/plugins/tiddlywiki/xlsx-utils]]. This is also where you select which import specification is selected for use during the next import operation.

Each sheet is expected to consist of a single header row followed by multiple content rows, each consisting of an independent record. The plugin automatically detects the extent of each sheet by looking for the bottom right cell that contains a value. This can lead to unexpected results if a cell is accidentally created with an invisible, blank value.

Import specifications describe how tiddlers are created from a particular row of a sheet; multiple tiddlers can be generated from a single row. (Conversely, if different rows yield tiddlers with the same title then they will overwrite one another).

Each field of each tiddler can be assigned a constant value, or a value taken from a named column of the sheet, optionally with a prefix and/or suffix added. There is special support for handling list fields (like the tags field), with the ability to append new items to the list.

Internally, each import specifier is actually modelled as a hierarchy of connected tiddlers with the field ''import-spec-role'' indicating the following roles:

* ''workbook'': describes the sheets to be imported from the workbook
* ''sheet'': describes each sheet to be processed
* ''row'': describes the tiddlers to be imported from each row of each sheet
* ''field'': describes the fields to be assigned to each tiddler from each row of each sheet

The easiest way to understand the structure is to explore the example import specifications, and the corresponding spreadsheets they are designed to handle.

Note that there are many possible different ways of importing a particular spreadsheet, depending on whether the structures are modelled with fields, tags, prefixes or other mechanisms. The plugin is designed to support a wide range of applications.

This plugin also requires the JSZip plugin ([[$:/plugins/tiddlywiki/jszip]]) to be installed.