Since column view is just an overlay over a buffer, it cannot be
exported or printed directly. If you want to capture a column view, use
columnview dynamic block (see Dynamic blocks). The frame
of this block looks like this:
* The column view #+BEGIN: columnview :hlines 1 :id "label" #+END:
This dynamic block has the following parameters:
This is the most important parameter. Column view is a feature that is often localized to a certain (sub)tree, and the capture block might be at a different location in the file. To identify the tree whose view to capture, you can use 4 values:
local use the tree in which the capture block is located global make a global view, including all headings in the file "file:path-to-file" run column view at the top of this file "ID" call column view in the tree that has an
:ID:property with the value label. You can use M-x org-id-copy RET to create a globally unique
IDfor the current entry and copy it to the kill-ring.
t, insert an hline after every line. When a number N, insert
an hline before each headline with level
When set to
t, force column groups to get vertical lines.
When set to a number, don’t capture entries below this level.
When set to
t, skip rows where the only non-empty specifier of the
column view is
nil, indent each
ITEM field according to its level.
The following commands insert or update the dynamic block:
Insert a dynamic block capturing a column view. You will be prompted
for the scope or
ID of the view.
Update dynamic block at point.
Update all dynamic blocks (see Dynamic blocks). This is useful if you have several clock table blocks, column-capturing blocks or other dynamic blocks in a buffer.
You can add formulas to the column view table and you may add plotting
instructions in front of the table—these will survive an update of the
block. If there is a
#+TBLFM: after the table, the table will
actually be recalculated automatically after an update.
An alternative way to capture and process property values into a table is provided by Eric Schulte’s org-collector.el which is a contributed package64. It provides a general API to collect properties from entries in a certain scope, and arbitrary Lisp expressions to process these values before inserting them into a table or a dynamic block.
Contributed packages are not part of Emacs, but are distributed with the main distribution of Org (visit https://orgmode.org).