NickvisionApps / Denaro

Manage your personal finances
https://flathub.org/apps/details/org.nickvision.money
MIT License
575 stars 38 forks source link

Export to OpenDocument Spreadsheet #234

Closed vanillajonathan closed 1 year ago

vanillajonathan commented 1 year ago

I would like to export to OpenDocument Spreadsheet (.ods files).

nlogozzo commented 1 year ago

This we will not be supporting. The only spreadsheet format we will support is .csv as it's a very open standard (Literally just a text document with rows on each line and columns separated by a delimiter).

Just remember that Denaro uses ; for its delimiter and not ,. Most spreadsheet software asks for the delimiter used when opening a .csv file so it will be formatted correctly.

nlogozzo commented 1 year ago

These same spreadsheet softwares allow for converting .csv to and form their respective formats, i.e. .ods or .xmls.

vanillajonathan commented 1 year ago

CSV supplies no semantics; it is data but you have no idea what the data is.

I want it in .ods so it has headers, and the headers should be bold, and the columns should be of type Currency, so that the data gets presented aligned to the right, and so that I can filter and sort the data and apply macros.

If I import a CSV file into LibreOffice or Excel then its just dumped into the table without any formatting.

nlogozzo commented 1 year ago

Exporting to CSV (or any format for that matter) is not meant to be used as, oh let me export to csv and manage my account from the spreadsheet software. That defeats the purpose of using Denaro, just use the spreadsheet software.

The whole purpose of exporting/importing to/from csv is to allow a user to bulk-add transactions all at once. In fact, Importing from CSV ignores rows with Ids that already exist. There's too much uncertainty that comes from importing data from files that we need to account for, so we can't allow users to edit their whole account from a spreadsheet and expect it to just work with Denaro. Use Denaro to do the managing in the first place.

This header is also placed at the top of every CSV file to describe each column and the format it should be in:

ID;Date (en_US Format);Description;Type;RepeatInterval;RepeatFrom (-1=None,0=Original,Other=Id Of Source);RepeatEndDate (en_US Format);Amount (en_US Format);RGBA;Group(Id Starts At 1);GroupName;GroupDescription
vanillajonathan commented 1 year ago

I wasn't talking about importing from spreadsheet software, or using spreadsheet software to manage the account then importing the data, just about exporting to spreadsheet software.