Set and get dates

This commit is contained in:
Mauricio Baeza 2021-07-06 22:29:05 -05:00
parent 62d2cd25c1
commit 37acf3cc06
7 changed files with 164 additions and 10 deletions

Binary file not shown.

Binary file not shown.

View File

@ -16,6 +16,50 @@ Read
info = f'Cell Type = {cell.type}\n\nCell Value = {cell.value}'
app.msgbox(info)
* Get date, time and datetime like data Python.
.. code-block:: python
sheet = app.active_sheet
cell = sheet['A1']
app.msgbox(cell.date)
app.msgbox(cell.time)
app.msgbox(cell.datetime)
* Get values from cell range.
.. code-block:: python
sheet = app.active_sheet
rango = sheet['A1:B5']
app.msgbox(rango.data)
* Get formulas
.. code-block:: python
sheet = app.active_sheet
rango = sheet['A1:B5']
app.msgbox(rango.formula)
* Get array formula
.. code-block:: python
sheet = app.active_sheet
rango = sheet['C10:E15']
app.msgbox(rango.array_formula)
* Get like dictionary
The first row in range are the keys.
.. code-block:: python
sheet = app.active_sheet
rango = sheet['A1:B5']
app.msgbox(rango.dict)
Write
^^^^^
@ -35,11 +79,14 @@ Write
# ~ Set string
sheet['A3'].value = 'Damn World'
# ~ Set formula
sheet['A4'].value = '=RAND()'
# ~ Set date
sheet['A4'].value = app.today()
sheet['A5'].value = app.today()
# ~ Set time
sheet['A5'].value = app.now(True)
sheet['A6'].value = app.now(True)
# ~ Set datetime
sheet['A6'].value = app.now()
sheet['A7'].value = app.now()

View File

@ -48,6 +48,49 @@
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">info</span><span class="p">)</span>
</pre></div>
</div>
<ul class="simple">
<li><p>Get date, time and datetime like data Python.</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">cell</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">&#39;A1&#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">cell</span><span class="o">.</span><span class="n">date</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">cell</span><span class="o">.</span><span class="n">time</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">cell</span><span class="o">.</span><span class="n">datetime</span><span class="p">)</span>
</pre></div>
</div>
<ul class="simple">
<li><p>Get values from cell range.</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">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">&#39;A1:B5&#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">rango</span><span class="o">.</span><span class="n">data</span><span class="p">)</span>
</pre></div>
</div>
<ul class="simple">
<li><p>Get formulas</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">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">&#39;A1:B5&#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">rango</span><span class="o">.</span><span class="n">formula</span><span class="p">)</span>
</pre></div>
</div>
<ul class="simple">
<li><p>Get array formula</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">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">&#39;C10:E15&#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">rango</span><span class="o">.</span><span class="n">array_formula</span><span class="p">)</span>
</pre></div>
</div>
<ul class="simple">
<li><p>Get like dictionary</p></li>
</ul>
<p>The first row in range are the keys.</p>
<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">rango</span> <span class="o">=</span> <span class="n">sheet</span><span class="p">[</span><span class="s1">&#39;A1:B5&#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">rango</span><span class="o">.</span><span class="n">dict</span><span class="p">)</span>
</pre></div>
</div>
</section>
<section id="write">
<h2>Write<a class="headerlink" href="#write" title="Permalink to this headline"></a></h2>
@ -65,14 +108,17 @@
<span class="c1"># ~ Set string</span>
<span class="n">sheet</span><span class="p">[</span><span class="s1">&#39;A3&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="s1">&#39;Damn World&#39;</span>
<span class="c1"># ~ Set formula</span>
<span class="n">sheet</span><span class="p">[</span><span class="s1">&#39;A4&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="s1">&#39;=RAND()&#39;</span>
<span class="c1"># ~ Set date</span>
<span class="n">sheet</span><span class="p">[</span><span class="s1">&#39;A4&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">today</span><span class="p">()</span>
<span class="n">sheet</span><span class="p">[</span><span class="s1">&#39;A5&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">today</span><span class="p">()</span>
<span class="c1"># ~ Set time</span>
<span class="n">sheet</span><span class="p">[</span><span class="s1">&#39;A5&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">now</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span>
<span class="n">sheet</span><span class="p">[</span><span class="s1">&#39;A6&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">now</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span>
<span class="c1"># ~ Set datetime</span>
<span class="n">sheet</span><span class="p">[</span><span class="s1">&#39;A6&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
<span class="n">sheet</span><span class="p">[</span><span class="s1">&#39;A7&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
</pre></div>
</div>
</section>

File diff suppressed because one or more lines are too long

View File

@ -16,6 +16,50 @@ Read
info = f'Cell Type = {cell.type}\n\nCell Value = {cell.value}'
app.msgbox(info)
* Get date, time and datetime like data Python.
.. code-block:: python
sheet = app.active_sheet
cell = sheet['A1']
app.msgbox(cell.date)
app.msgbox(cell.time)
app.msgbox(cell.datetime)
* Get values from cell range.
.. code-block:: python
sheet = app.active_sheet
rango = sheet['A1:B5']
app.msgbox(rango.data)
* Get formulas
.. code-block:: python
sheet = app.active_sheet
rango = sheet['A1:B5']
app.msgbox(rango.formula)
* Get array formula
.. code-block:: python
sheet = app.active_sheet
rango = sheet['C10:E15']
app.msgbox(rango.array_formula)
* Get like dictionary
The first row in range are the keys.
.. code-block:: python
sheet = app.active_sheet
rango = sheet['A1:B5']
app.msgbox(rango.dict)
Write
^^^^^
@ -35,11 +79,14 @@ Write
# ~ Set string
sheet['A3'].value = 'Damn World'
# ~ Set formula
sheet['A4'].value = '=RAND()'
# ~ Set date
sheet['A4'].value = app.today()
sheet['A5'].value = app.today()
# ~ Set time
sheet['A5'].value = app.now(True)
sheet['A6'].value = app.now(True)
# ~ Set datetime
sheet['A6'].value = app.now()
sheet['A7'].value = app.now()

View File

@ -6821,6 +6821,20 @@ class Dates(object):
d = datetime.date(year, month, day)
return d
@classmethod
def str_to_date(cls, str_date, template, to_calc=False):
d = datetime.datetime.strptime(str_date, template).date()
if to_calc:
d = d.toordinal() - DATE_OFFSET
return d
@classmethod
def calc_to_date(cls, value, frm=''):
d = datetime.date.fromordinal(int(value) + DATE_OFFSET)
if frm:
d = d.strftime(frm)
return d
class OutputStream(unohelper.Base, XOutputStream):