I have a lot of simple spreadsheets with formulas and graphs, or tabular data that I want to filter and sort. I would like to organize this in Obsidian.
Proposed solution
With the introduction of Canvas, Obsidian has demonstrated that the app can do more than just Markdown files. I propose a new section, similar to Canvas, that is dedicated to organizing and editing spreadsheets. A new file in this section would be a blank grid, like you would get in Excel or Google Sheets. You could import a CSV/Excel file or enter data using a UI that is optimized for this scenario. It would support simple formulas, simple charts, sorting, formatting of cells, borders, etc. It would be like a lite version of Excel/Google Sheets.
There are some existing open-source web-based spreadsheet projects that could potentially be used as a starting point. For example, Luckysheet, EtherCalc, Keikai
The actual files could be stored as .ods files (OpenDocument - Wikipedia). This is an open format, which would align with Obsidian’s core value of “future-proof format”.
Current workarounds
I am aware of the table support in markdown and the various plugins that enhance this, but this only works for simple things and the UI is not optimized for entering data or making charts.
I am aware that I can use Excel and import that file into Obsidian to store and link to my notes. This doesnt work great, and doesnt work on mobile and violates the “future-proof format” core value.
I am aware that I can use Google Sheets and just paste the link into my markdown note. This is fine, but it goes against the “total control” and “always available” and “future proof format” core values.
A great idea. I have a ton of information stored in Apple Numbers spreadsheets and would love to include them into explanatory notes that I am creating using Obsidian.
Given Obsidian’s plain-text orientation, if a core feature like this appeared I’d prefer it to be simpler, using CSV (preferably TSV) as the file format, with support for simple formulas and maybe column resizing.
Like the concept, but would want it to stay in .md rather than .ods. Esp because I’d want to have this “in-line” within a markdown note. Perhaps the dataset delimited by backticks.
This idea is important to me. It’s the one area where I really can’t comfortably use Obsidian to manage my information. I have a few examples, a simple list of 3,000 contacts, a list of books and movies I want to see, a job search list of companies I’ve applied to. Using a spreadsheet it is effortless to add a new item quickly. Using Obsidian feels so slow, adding a whole new note/file with just a couple of fields, then not having an easy way to browse/search/sort/filter the list while editing it.
I think the core format for this should be either a Markdown table or CSV text rows. But the interface should be as spreadsheet like as possible.
Are there plug-ins currently that get us close to this?
Without doubt, tables are essential for pkm, because so useful to store detail data, perfect for diagrams, addresses, formulas, etc
Tables are portable and a very basic need to deal with data
I agree with the previous voices in this thread, an extra section is a first idea but not the best implementation.
My wish would be a gui wrapper for tables, examples are :
Please check out advanced tables, you’ll enjoy working with tables in Obsidian
Also, (quick self promo) i suggest you to check out my theme called Dune because I added styled tables for contacts, movies, recipes, 2 generic ones and custom table highlights both for light dark theme, supporting both phone and desktop.
Unfortunately Advanced Tables isn’t quite right yet. I just copy/pasted a dozen lines onto the bottom of a table and Advanced Tables couldn’t get it right. Depending on where I pasted it they either weren’t made part of the table or there were extra | characters inserted shifting the columns around.
yeah, tables are a bit difficult to manage, I use shell / other scripts to convert tables to markdown to get them into Obsidian, then I post-process them with advanced tables.
I’d love if tables behaved as first class citizens like embedded spreadsheets. If I copy/paste 20 lines in Excel it appends them. I can sort, filter, etc.
Dataview isn’t really the same thing. Imagine if a fairly large Excel spreadsheet with 1,000 lines had to be stored as 1,000 separate files.
The underlying text representation should be CSV or Markdown tables.