dgorissen / pycel

A library for compiling excel spreadsheets to python code & visualizing them as a graph
GNU General Public License v3.0
565 stars 147 forks source link

Absolute and relative references are converted to identical Python code. #159

Open manns opened 7 months ago

manns commented 7 months ago

In order to create an xlsx importer for pyspread, I am trying to convert the formula =AVERAGE($C$1:$C$3) into Python code.

I am getting the code average(_R_("C1:C3")).

However, I would expect to get average(_R_("$C$1:$C$3")).

The problem is that both absolute and relative references are converted to identical Python code. Therefore, I do not see how to implement differentiated relative and absolute reference behavior from imported Excel files in pyspread. (Note that for this reason, the functions _R_ and _C_ are re-implemented in pyspread.)

I am using the following code:

ex = excelformula.ExcelFormula(value)
code = ex.python_code

Environment

pycel 1.0b30 Python 3.11.6 Manjaro Linux (KDE)