[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.

[Prev in Thread] |
**Current Thread** |
[Next in Thread] |

**from org-table (with formulas) to csv and back (ods)**,
*Uwe Brauer* **<=**