emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

from org-table (with formulas) to csv and back (ods)


From: Uwe Brauer
Subject: from org-table (with formulas) to csv and back (ods)
Date: Tue, 12 Jul 2022 09:52:00 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

Hi


As it was pointed out to me in
https://github.com/kjambunathan/org-mode-ox-odt/issues/94

It is possible to start with a ods file then convert it to csv with
formula to obtain something like this

#+begin_src 
3,6,"=SUM($A1:$B1)"
1,3,"=SUM($A2:$B2)"
1,2,"=SUM($A3:$B3)"
#+end_src

That can be relatively converted to a org-table with the correct formula



#+begin_src 

| First |   |     |
|-------+---+-----|
|     3 | 6 |   9 |
|     1 | 3 |   4 |
|     1 | 2 |   3 |
|     8 | 9 |  17 |
,#+TBLFM: $3=vsum($1..$2);f-2
#+end_src

And furthermore modified.

#+begin_src 
| First |   |     |
|-------+---+-----|
|     3 | 6 |   9 |
|     1 | 3 |   4 |
|     1 | 2 |   3 |
|     8 | 9 |  17 |
|   100 | 1 | 101 |
,#+TBLFM: $3=vsum($1..$2);f-2
#+end_src

The question is how to convert back to csv?
Manually the «correct table» would be 

#+begin_src 
|   3 | 6 | =SUM($A1:$B1) |
|   1 | 3 | =SUM($A2:$B2) |
|   1 | 2 | =SUM($A3:$B3) |
| 100 | 1 | =SUM($A4:$B4) |
#+end_src



Which will then be converted to 

#+begin_src 

3,6,=SUM($A1:$B1)
1,3,=SUM($A2:$B2)
1,2,=SUM($A3:$B3)
100,1,=SUM($A4:$B4)
#+end_src


So the question is: at least for simple formulas (no ifs for example)
wouldn't it be good to implement a lisp function that does this conversion?

regards

Uwe Brauer 

-- 
I strongly condemn Putin's war of aggression against the Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the ban of Russia from SWIFT.
I support the EU membership of the Ukraine. 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]