Doc for sheets

This commit is contained in:
Mauricio Baeza 2021-07-03 19:23:23 -05:00
parent f9b2b7679a
commit 0e656fbecb
7 changed files with 726 additions and 6 deletions

Binary file not shown.

Binary file not shown.

View File

@ -2,7 +2,7 @@
Calc
----
Remember, always import library.
Remember, always import library.
.. code-block:: python
@ -10,7 +10,7 @@ Remember, always import library.
Current doc
^^^^^^^^^^^
~~~~~~~~~~~
.. code-block:: python
@ -18,10 +18,251 @@ Current doc
app.msgbox(doc.type)
Selection
~~~~~~~~~
* If selection is range get LOCalcRange, if selection is shape get LOShape, other selection get original pyuno object.
.. code-block:: python
doc = app.active
selection = doc.selection
app.msgbox(type(selection))
Headers
~~~~~~~
* Hide or show columns and rows headers.
.. code-block:: python
doc = app.active
app.msgbox(doc.headers)
doc.headers = not doc.headers
app.msgbox(doc.headers)
doc.headers = not doc.headers
Tabs
~~~~
* Hide or show tab sheets.
.. code-block:: python
doc = app.active
app.msgbox(doc.tabs)
doc.tabs = not doc.tabs
app.msgbox(doc.tabs)
doc.tabs = not doc.tabs
Sheets
^^^^^^
Active sheet
^^^^^^^^^^^^
~~~~~~~~~~~~
.. code-block:: python
sheet = app.active_sheet
app.msgbox(sheet.name)
# or
doc = app.active
sheet = doc.active
Get by index
~~~~~~~~~~~~
.. code-block:: python
doc = app.active
sheet = doc[0]
app.msgbox(sheet.name)
Get by name
~~~~~~~~~~~
.. code-block:: python
doc = app.active
sheet = doc['Sheet1']
app.msgbox(sheet.name)
Contains
~~~~~~~~
.. code-block:: python
doc = app.active
app.msgbox('Sheet1' in doc)
Get tuple with all names
~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
doc = app.active
app.msgbox(doc.names)
Count
~~~~~
.. code-block:: python
doc = app.active
app.msgbox(len(doc))
New
~~~
* Always validate if new name not exists.
.. code-block:: python
doc = app.active
sheet = doc.new_sheet()
# CAUTION: If 'NewSheet' exists, reset it to clean sheet.
doc['NewSheet'] = sheet
# ~ or
sheet = doc.insert('NewSheet2')
* Insert multiple, get last insert.
.. code-block:: python
names = ('One', 'Two', 'Three')
sheet = doc.insert(names)
Move
~~~~
* Move by object to last position.
.. code-block:: python
sheet = doc[0]
doc.move(sheet)
* Move by name to last position.
.. code-block:: python
doc.move('Sheet1')
* Move to position.
sheet = doc[0]
doc.move(sheet, 2)
Remove
~~~~~~
* Remove by object
.. code-block:: python
sheet = doc[0]
doc.remove(sheet)
* Remove by name
.. code-block:: python
doc.remove('One')
Copy
~~~~
* Copy inside the same spreadsheet.
* By object
.. code-block:: python
sheet = doc[0]
doc.copy(sheet, 'OtherSheet')
* By name
.. code-block:: python
doc.copy('Sheet1', 'Sheet2')
Copy from
~~~~~~~~~
* Copy sheet from one spreadsheet to other.
.. code-block:: python
doc = app.active
doc_source = app.docs['Contacts.ods']
name_source = 'Names'
name_target = 'Names'
position = 0
doc.copy_from(doc_source, name_source, name_target, position)
Sort
~~~~
* Sort sheets by names.
.. code-block:: python
doc = app.active
doc.sort()
Name
~~~~
* Name visible by the user.
.. code-block:: python
sheet = app.active_sheet
app.msgbox(sheet.name)
sheet.name = 'NewName'
app.msgbox(sheet.name)
Code name
~~~~~~~~~
* Name only accessible by code.
.. code-block:: python
sheet = app.active_sheet
app.msgbox(sheet.code_name)
sheet.code_name = 'my_name'
app.msgbox(sheet.code_name)
Visible
~~~~~~~
* Apply only with spreadsheet with two or more sheets.
.. code-block:: python
sheet = app.active_sheet
app.msgbox(sheet.visible)
sheet.visible = not sheet.visible
app.msgbox(sheet.visible)
sheet.visible = not sheet.visible

View File

@ -35,7 +35,7 @@
<section id="calc">
<h1>Calc<a class="headerlink" href="#calc" title="Permalink to this headline"></a></h1>
<p>Remember, always import library.</p>
<p>Remember, always import library.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">easymacro</span> <span class="k">as</span> <span class="nn">app</span>
</pre></div>
</div>
@ -46,10 +46,233 @@
</pre></div>
</div>
</section>
<section id="selection">
<h2>Selection<a class="headerlink" href="#selection" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>If selection is range get LOCalcRange, if selection is shape get LOShape, other selection get original pyuno object.</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
<span class="n">selection</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">selection</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">selection</span><span class="p">))</span>
</pre></div>
</div>
</section>
<section id="headers">
<h2>Headers<a class="headerlink" href="#headers" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Hide or show columns and rows headers.</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">headers</span><span class="p">)</span>
<span class="n">doc</span><span class="o">.</span><span class="n">headers</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">doc</span><span class="o">.</span><span class="n">headers</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">headers</span><span class="p">)</span>
<span class="n">doc</span><span class="o">.</span><span class="n">headers</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">doc</span><span class="o">.</span><span class="n">headers</span>
</pre></div>
</div>
</section>
<section id="tabs">
<h2>Tabs<a class="headerlink" href="#tabs" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Hide or show tab sheets.</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">tabs</span><span class="p">)</span>
<span class="n">doc</span><span class="o">.</span><span class="n">tabs</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">doc</span><span class="o">.</span><span class="n">tabs</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">tabs</span><span class="p">)</span>
<span class="n">doc</span><span class="o">.</span><span class="n">tabs</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">doc</span><span class="o">.</span><span class="n">tabs</span>
</pre></div>
</div>
<section id="sheets">
<h3>Sheets<a class="headerlink" href="#sheets" title="Permalink to this headline"></a></h3>
</section>
</section>
<section id="active-sheet">
<h2>Active sheet<a class="headerlink" href="#active-sheet" title="Permalink to this headline"></a></h2>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
<span class="c1"># or</span>
<span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">active</span>
</pre></div>
</div>
</section>
<section id="get-by-index">
<h2>Get by index<a class="headerlink" href="#get-by-index" title="Permalink to this headline"></a></h2>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
</pre></div>
</div>
</section>
<section id="get-by-name">
<h2>Get by name<a class="headerlink" href="#get-by-name" title="Permalink to this headline"></a></h2>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="s1">&#39;Sheet1&#39;</span><span class="p">]</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
</pre></div>
</div>
</section>
<section id="contains">
<h2>Contains<a class="headerlink" href="#contains" title="Permalink to this headline"></a></h2>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="s1">&#39;Sheet1&#39;</span> <span class="ow">in</span> <span class="n">doc</span><span class="p">)</span>
</pre></div>
</div>
</section>
<section id="get-tuple-with-all-names">
<h2>Get tuple with all names<a class="headerlink" href="#get-tuple-with-all-names" title="Permalink to this headline"></a></h2>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">doc</span><span class="o">.</span><span class="n">names</span><span class="p">)</span>
</pre></div>
</div>
</section>
<section id="count">
<h2>Count<a class="headerlink" href="#count" title="Permalink to this headline"></a></h2>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">doc</span><span class="p">))</span>
</pre></div>
</div>
</section>
<section id="new">
<h2>New<a class="headerlink" href="#new" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Always validate if new name not exists.</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">new_sheet</span><span class="p">()</span>
<span class="c1"># CAUTION: If &#39;NewSheet&#39; exists, reset it to clean sheet.</span>
<span class="n">doc</span><span class="p">[</span><span class="s1">&#39;NewSheet&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">sheet</span>
<span class="c1"># ~ or</span>
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="s1">&#39;NewSheet2&#39;</span><span class="p">)</span>
</pre></div>
</div>
<ul class="simple">
<li><p>Insert multiple, get last insert.</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">names</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;One&#39;</span><span class="p">,</span> <span class="s1">&#39;Two&#39;</span><span class="p">,</span> <span class="s1">&#39;Three&#39;</span><span class="p">)</span>
<span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">names</span><span class="p">)</span>
</pre></div>
</div>
</section>
<section id="move">
<h2>Move<a class="headerlink" href="#move" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Move by object to last position.</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">doc</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="n">sheet</span><span class="p">)</span>
</pre></div>
</div>
<ul class="simple">
<li><p>Move by name to last position.</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="s1">&#39;Sheet1&#39;</span><span class="p">)</span>
</pre></div>
</div>
<ul>
<li><p>Move to position.</p>
<blockquote>
<div><p>sheet = doc[0]
doc.move(sheet, 2)</p>
</div></blockquote>
</li>
</ul>
</section>
<section id="remove">
<h2>Remove<a class="headerlink" href="#remove" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Remove by object</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">doc</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">sheet</span><span class="p">)</span>
</pre></div>
</div>
<ul class="simple">
<li><p>Remove by name</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="s1">&#39;One&#39;</span><span class="p">)</span>
</pre></div>
</div>
</section>
<section id="copy">
<h2>Copy<a class="headerlink" href="#copy" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Copy inside the same spreadsheet.</p></li>
<li><p>By object</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">doc</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">sheet</span><span class="p">,</span> <span class="s1">&#39;OtherSheet&#39;</span><span class="p">)</span>
</pre></div>
</div>
<ul class="simple">
<li><p>By name</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="s1">&#39;Sheet1&#39;</span><span class="p">,</span> <span class="s1">&#39;Sheet2&#39;</span><span class="p">)</span>
</pre></div>
</div>
</section>
<section id="copy-from">
<h2>Copy from<a class="headerlink" href="#copy-from" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Copy sheet from one spreadsheet to other.</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
<span class="n">doc_source</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">docs</span><span class="p">[</span><span class="s1">&#39;Contacts.ods&#39;</span><span class="p">]</span>
<span class="n">name_source</span> <span class="o">=</span> <span class="s1">&#39;Names&#39;</span>
<span class="n">name_target</span> <span class="o">=</span> <span class="s1">&#39;Names&#39;</span>
<span class="n">position</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">doc</span><span class="o">.</span><span class="n">copy_from</span><span class="p">(</span><span class="n">doc_source</span><span class="p">,</span> <span class="n">name_source</span><span class="p">,</span> <span class="n">name_target</span><span class="p">,</span> <span class="n">position</span><span class="p">)</span>
</pre></div>
</div>
</section>
<section id="sort">
<h2>Sort<a class="headerlink" href="#sort" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Sort sheets by names.</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">doc</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active</span>
<span class="n">doc</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
</pre></div>
</div>
</section>
<section id="name">
<h2>Name<a class="headerlink" href="#name" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Name visible by the user.</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
<span class="n">sheet</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s1">&#39;NewName&#39;</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
</pre></div>
</div>
</section>
<section id="code-name">
<h2>Code name<a class="headerlink" href="#code-name" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Name only accessible by code.</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">code_name</span><span class="p">)</span>
<span class="n">sheet</span><span class="o">.</span><span class="n">code_name</span> <span class="o">=</span> <span class="s1">&#39;my_name&#39;</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">code_name</span><span class="p">)</span>
</pre></div>
</div>
</section>
<section id="visible">
<h2>Visible<a class="headerlink" href="#visible" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Apply only with spreadsheet with two or more sheets.</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">sheet</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">active_sheet</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">visible</span><span class="p">)</span>
<span class="n">sheet</span><span class="o">.</span><span class="n">visible</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">sheet</span><span class="o">.</span><span class="n">visible</span>
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">sheet</span><span class="o">.</span><span class="n">visible</span><span class="p">)</span>
<span class="n">sheet</span><span class="o">.</span><span class="n">visible</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">sheet</span><span class="o">.</span><span class="n">visible</span>
</pre></div>
</div>
</section>
@ -88,6 +311,7 @@
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="apendixes.html">Apendixes</a></li>
</ul>
<div class="relations">

View File

@ -141,7 +141,24 @@
</li>
<li class="toctree-l1"><a class="reference internal" href="calc.html">Calc</a><ul>
<li class="toctree-l2"><a class="reference internal" href="calc.html#current-doc">Current doc</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#selection">Selection</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#headers">Headers</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#tabs">Tabs</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#active-sheet">Active sheet</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#get-by-index">Get by index</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#get-by-name">Get by name</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#contains">Contains</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#get-tuple-with-all-names">Get tuple with all names</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#count">Count</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#new">New</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#move">Move</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#remove">Remove</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#copy">Copy</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#copy-from">Copy from</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#sort">Sort</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#name">Name</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#code-name">Code name</a></li>
<li class="toctree-l2"><a class="reference internal" href="calc.html#visible">Visible</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="writer.html">Writer</a><ul>

File diff suppressed because one or more lines are too long

View File

@ -10,7 +10,7 @@ Remember, always import library.
Current doc
^^^^^^^^^^^
~~~~~~~~~~~
.. code-block:: python
@ -18,6 +18,46 @@ Current doc
app.msgbox(doc.type)
Selection
~~~~~~~~~
* If selection is range get LOCalcRange, if selection is shape get LOShape, other selection get original pyuno object.
.. code-block:: python
doc = app.active
selection = doc.selection
app.msgbox(type(selection))
Headers
~~~~~~~
* Hide or show columns and rows headers.
.. code-block:: python
doc = app.active
app.msgbox(doc.headers)
doc.headers = not doc.headers
app.msgbox(doc.headers)
doc.headers = not doc.headers
Tabs
~~~~
* Hide or show tab sheets.
.. code-block:: python
doc = app.active
app.msgbox(doc.tabs)
doc.tabs = not doc.tabs
app.msgbox(doc.tabs)
doc.tabs = not doc.tabs
Sheets
^^^^^^
@ -28,3 +68,201 @@ Active sheet
sheet = app.active_sheet
app.msgbox(sheet.name)
# or
doc = app.active
sheet = doc.active
Get by index
~~~~~~~~~~~~
.. code-block:: python
doc = app.active
sheet = doc[0]
app.msgbox(sheet.name)
Get by name
~~~~~~~~~~~
.. code-block:: python
doc = app.active
sheet = doc['Sheet1']
app.msgbox(sheet.name)
Contains
~~~~~~~~
.. code-block:: python
doc = app.active
app.msgbox('Sheet1' in doc)
Get tuple with all names
~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
doc = app.active
app.msgbox(doc.names)
Count
~~~~~
.. code-block:: python
doc = app.active
app.msgbox(len(doc))
New
~~~
* Always validate if new name not exists.
.. code-block:: python
doc = app.active
sheet = doc.new_sheet()
# CAUTION: If 'NewSheet' exists, reset it to clean sheet.
doc['NewSheet'] = sheet
# ~ or
sheet = doc.insert('NewSheet2')
* Insert multiple, get last insert.
.. code-block:: python
names = ('One', 'Two', 'Three')
sheet = doc.insert(names)
Move
~~~~
* Move by object to last position.
.. code-block:: python
sheet = doc[0]
doc.move(sheet)
* Move by name to last position.
.. code-block:: python
doc.move('Sheet1')
* Move to position.
sheet = doc[0]
doc.move(sheet, 2)
Remove
~~~~~~
* Remove by object
.. code-block:: python
sheet = doc[0]
doc.remove(sheet)
* Remove by name
.. code-block:: python
doc.remove('One')
Copy
~~~~
* Copy inside the same spreadsheet.
* By object
.. code-block:: python
sheet = doc[0]
doc.copy(sheet, 'OtherSheet')
* By name
.. code-block:: python
doc.copy('Sheet1', 'Sheet2')
Copy from
~~~~~~~~~
* Copy sheet from one spreadsheet to other.
.. code-block:: python
doc = app.active
doc_source = app.docs['Contacts.ods']
name_source = 'Names'
name_target = 'Names'
position = 0
doc.copy_from(doc_source, name_source, name_target, position)
Sort
~~~~
* Sort sheets by names.
.. code-block:: python
doc = app.active
doc.sort()
Name
~~~~
* Name visible by the user.
.. code-block:: python
sheet = app.active_sheet
app.msgbox(sheet.name)
sheet.name = 'NewName'
app.msgbox(sheet.name)
Code name
~~~~~~~~~
* Name only accessible by code.
.. code-block:: python
sheet = app.active_sheet
app.msgbox(sheet.code_name)
sheet.code_name = 'my_name'
app.msgbox(sheet.code_name)
Visible
~~~~~~~
* Apply only with spreadsheet with two or more sheets.
.. code-block:: python
sheet = app.active_sheet
app.msgbox(sheet.visible)
sheet.visible = not sheet.visible
app.msgbox(sheet.visible)
sheet.visible = not sheet.visible