emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Use babel to import table data from OpenDocument spreadsheets?


From: James Harkins
Subject: Re: [O] Use babel to import table data from OpenDocument spreadsheets?
Date: Wed, 10 Jul 2013 10:19:01 +0800
User-agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (Gojō) APEL/10.8 Emacs/23.3 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)

At Wed, 03 Jul 2013 10:35:51 +0800,
James Harkins wrote:
> Anyway, I'm not convinced that org-odt-convert would meet my needs anyway. It 
> will have to be a multi-worksheet file, and I'll have to extract just one or 
> two of the worksheets. The macro might be the way to go.

I've made a bit more progress with this. I found a utility, unoconv[1], which I 
can persuade to produce a tab-separated export of the first worksheet of an ODS 
document. That much should work for my needs -- I can reserve the first 
worksheet for the data to be published, and put all the calculations in other 
sheets.

I'm not sure how to import this as an org table. I found org-table-import, but 
it seems that this must insert a table into a buffer and then convert to 
org-table format in the buffer. I don't know how to integrate that with babel. 
If I set ":exports results," should I assume then that the code block should 
return a string consisting of the org-formatted table?

- Or, do I have to say ":exports none" and do some save-excursion magic with 
moving the point to the right place before calling org-table-import? (That's 
probably okay for this small-scale usage, but it would be slicker to put a 
#+CALL in the right location.)

- Or, do I have to write my own lisp function to format the table as a string?

The goal is that I should be able to do C-c C-e h h from the org document, and 
babel will run a short emacs-lisp block to invoke unoconv (producing a CSV file 
on disk) and then insert the table under the right heading.

Thanks,
hjh

[1] http://linux.die.net/man/1/unoconv



reply via email to

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