Importing and exporting data

BOMIST tries to make it super easy for you to import and export data. There are two main UI components in the app you might want to import or export data into/from: tables and trees.

To open the import/export dialog, right-click on the UI component and select the appropriate option in the displayed context-menu, or by click in the dedicated button if available.

Tables

All tables are exportable by default but only a few ones are importable. Examples of importable tables include: the Parts table and BOM table, in the Projects tab.

Importing from CSV

Importing data into tables is done through CSV files. You can create those files manually using spreadsheets software (Microsoft Excel or LibreOffice Calc), generating them with a script or by exporting them from your EDA software.

With an CSV file on hand, all you have to do is to tell BOMIST how to map the columns into the required fields.

If the CSV file contains headers with the names that BOMIST expects, they will be automatically mapped.

Any issues will also be reported.

Exporting to CSV, JSON, HTML and PDF

When exporting a table, only the visible columns will be exported. The sorting and grouping of the table is respected when exporting it (if applicable). For example.

When exporting to CSV or JSON, you can simply copy the data to the clipboard, this way avoiding creating a new file.

When exporting to PDF, the name of the table and other relevant text (e.g. descriptions) are automatically added into it in other to provide a better context.

Trees

Similarly to tables, all trees are exportable by default and only some are importable.

Importing trees

Contrary to table-like data, there isn't a standard or commonly used format to represent trees. However, we believe text files with tabbed content are a simple but effective solution to this.

Having said that, you can represent a tree using the following text format:

Shelf
    A
        A1
        A2
    B
Room
    A
    B

In this example, we have two top level nodes (Shelf and Rooms), each one with its own child nodes. This format is simple and easy to understand, and that's a big plus.

When importing tree-like data, you'll be prompted with a merge confirmation dialog highlighting the new nodes, so you can review the changes resulting from importing data.

Exporting trees

At the moment you can only export into the text format described above. Soon, you'll be able to export tree-like data into JSON format as well.

Metadata

If you export one of the trees available on the app (e.g. Storage) you will notice a structure like this:

Shelf|storage:id1|{}
	A|storage:id2|{}

This is an extension to the format above which allows to add some metadata. In this case, we can pass the id of the note and some other metadata in JSON format. This is actually the format used by BOMIST and it allows to export all the data contained in the nodes. This means that when you import a tree that was previously exported from BOMIST, all data will be preserved.