Skip to Content
Menu
This question has been flagged
1 Reply
1853 Views

I am trying to insert cols_code into the first row of excel starting from index 3 to 35.
For instance, if I do this: 

for k, x in enumerate(string.ascii_uppercase[2:35]): 

      ws[x + str(fr - 2)] = cols[k]

 It is inserting up to # 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' and I want beyond Z.


If I do this:

cols_code = ['CODE', 'P001', 'P001', 'P006', 'P006', 'P010', 'P010', 'P025', 'P025', 'P030', 'P030', 'P037' , 'P037', 'P050', 'P050', 'P060', 'P060', 'P106', 'P106', 'P045', 'P045', 'P080', 'P080', 'P085', ' P085', 'P095', 'P095', 'P101', 'P101', 'P108', 'P108', 'P120', 'P120'] 

for col in range ( 3 , 36 ):
print ( 'col' , col)
for i in cols_code:
print ( 'iiii' ,i)
ws[i + str (fr - 2 )] = cols_code[col]

It is giving me this error:

RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
File "/odoo/odoo15/odoo/odoo/addons/base/models/ ir_http.py", line 237, in _dispatch
result = request.dispatch()
File "/odoo /odoo15/odoo/odoo/ http.py", line 687, in dispatch
result = self._call_function(**self.params)
File "/odoo/odoo15/odoo/odoo/ http.py", line 359, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/odoo/odoo15/odoo/odoo/service/ model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File " /odoo/odoo15/odoo/odoo/http.py", line 348,in checked_call
result = self.endpoint(*a, **kw)
File "/odoo/odoo15/odoo/odoo/ http.py", line 916, in __call__
return self.method(*args, **kw)
File "/odoo /odoo15/odoo/odoo/ http.py", line 535, in response_wrap
response = f(*args, **kw)
File "/odoo/odoo15/odoo/addons/web/controllers/ main.py", line 1351 , in call_button
action = self._call_kw(model, method, args, kwargs)
File "/odoo/odoo15/odoo/addons/web/controllers/ main.py", line 1339, in _call_kw
return call_kw(request.env[model ], method, args, kwargs)
File " /odoo/odoo15/odoo/odoo/api.py", line 464, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File " /odoo/odoo15/odoo/odoo/api.py", line 451, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/odoo /odoo15/odoo/customs/ttcl/custom-addons/hr_ke_new_custom/report/ reports.py", line 683, in GetPayrollDetailed
ws[i + str(fr - 2)] = cols_code[col]
File "/usr/local/ lib/python3.10/dist-packages/openpyxl/worksheet/ worksheet.py", line 313, in __setitem__
self[key].value = value
File "/usr/local/lib/python3.10/dist-packages/openpyxl /worksheet/ worksheet.py", line 290, in __getitem__
min_col, min_row, max_col,max_row = range_boundaries(key)
File "/usr/local/lib/python3.10/dist-packages/openpyxl/utils/ cell.py", line 135, in range_boundaries
raise ValueError(msg)
Exception

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/odoo/odoo15/odoo/odoo/ http.py", line 643, in _handle_exception
return super(JsonRequest, self)._handle_exception( exception)
File "/odoo/odoo15/odoo/odoo / http.py", line 301, in _handle_exception
raise exception.with_traceback(None) from new_cause
ValueError: CODE1 is not a valid coordinate or range

Avatar
Discard
Author Best Answer
I found the solution which is:

for j in range(2, 35):
col = get_colunm_letter(j + 1)
ws[col + str(fr - 2) = cols_code[j]




Avatar
Discard
Related Posts Replies Views Activity
2
Nov 22
1269
1
Mar 22
1942
2
Mar 22
2228
0
Jan 24
376
1
Jan 23
4867