New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ClosedXML formula support for parsing Chinese #972
Comments
Try to escape the worksheet name. E.g. |
That is ok but i wonder if you can increase the range of characters' identification 4e00~9fff: Chinese Unicode range |
We should rather use the |
OK. |
Please try with v0.94.2 and let me know if it works. |
Read and complete the full issue template
Do you want to request a feature or report a bug?
Version of ClosedXML
e.g. 0.93.1
What is the current behavior?
My Demo.xlsx includes two Sheets, which are all Chinese Sheet name.
I set my formula in the cell, and it refers to another Sheet.
But when I get cell value , the value shows Exception.
demo.xlsx
Did this work in previous versions of our tool? Which versions?
I have tested it with versions: 0.93.1
Code to reproduce problem:
exception Message: Identifier expected.
exception StackTrace:
at ClosedXML.Excel.CalcEngine.CalcEngine.GetToken()
at ClosedXML.Excel.CalcEngine.CalcEngine.GetParameters()
at ClosedXML.Excel.CalcEngine.CalcEngine.ParseAtom()
at ClosedXML.Excel.CalcEngine.CalcEngine.ParseUnary()
at ClosedXML.Excel.CalcEngine.CalcEngine.ParsePower()
at ClosedXML.Excel.CalcEngine.CalcEngine.ParseMulDiv()
at ClosedXML.Excel.CalcEngine.CalcEngine.ParseAddSub()
at ClosedXML.Excel.CalcEngine.CalcEngine.ParseCompare()
at ClosedXML.Excel.CalcEngine.CalcEngine.Parse(String expression)
at ClosedXML.Excel.CalcEngine.ExpressionCache.get_Item(String expression)
at ClosedXML.Excel.CalcEngine.CalcEngine.Evaluate(String expression)
at ClosedXML.Excel.XLCell.RecalculateFormula(String fA1)
at ClosedXML.Excel.XLCell.Evaluate(Boolean force)
at ClosedXML.Excel.XLCell.get_Value()
=========================================
I found ClosedXML.Excel.CalcEngine.CalcEngine.GetToken() ,
have a piece of code :
var isLetter = (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
it's seems to only identify English
The text was updated successfully, but these errors were encountered: