org: Capturing column view

 
 7.5.3 Capturing column view
 ---------------------------
 
 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
 a ‘columnview’ dynamic block (SeeDynamic 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:
 
 ‘:id’
      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 ID for
                     the current entry and copy it to the kill-ring.
 ‘:hlines’
      When ‘t’, insert an hline after every line.  When a number N,
      insert an hline before each headline with level ‘<= N’.
 ‘:vlines’
      When set to ‘t’, force column groups to get vertical lines.
 ‘:maxlevel’
      When set to a number, don’t capture entries below this level.
 ‘:skip-empty-rows’
      When set to ‘t’, skip rows where the only non-empty specifier of
      the column view is ‘ITEM’.
 
 The following commands insert or update the dynamic block:
 
 ‘C-c C-x i     (org-insert-columns-dblock)’
      Insert a dynamic block capturing a column view.  You will be
      prompted for the scope or ID of the view.
 ‘C-c C-c  or  C-c C-x C-u     (org-dblock-update)’
      Update dynamic block at point.  The cursor needs to be in the
      ‘#+BEGIN’ line of the dynamic block.
 ‘C-u C-c C-x C-u     (org-update-all-dblocks)’
      Update all dynamic blocks (SeeDynamic 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 package(1).  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.
 
    ---------- Footnotes ----------
 
    (1) Contributed packages are not part of Emacs, but are distributed
 with the main distribution of Org (visit <http://orgmode.org>).