Hacker News new | ask | show | jobs
by netsharc 437 days ago
> To open a en-US XLSX file in a fr-CA copy of Excel, you will need the en-US language pack

Are you sure? That sounds insane. Maybe if you're exporting a CSV where you insert the formulas as text, and expect the Excel to do some magic conversion..

I'm pretty sure that XLSX file is "universally" openable, and the user using the fr-CA copy of Excel will see =SOMME( ... ), doesn't matter what locale the source Excel is.

ChatGPT says:

> The Office Open XML specification, standardized as ECMA-376 and ISO/IEC 29500, defines how formulas are stored in XLSX files. It specifies that:

> Function names and formula grammar are stored in a locale-independent (invariant) format in the file — specifically, English-language function names.

> You can find this in: ECMA-376, Part 1: Fundamentals and Markup Language Reference, Section 18.17 “Formulas”

2 comments

It might have changed since I last had to deal with this (I hope!) but excel, at least ~5 years ago, was storing cell contents as they appear in the function box in the UI. As in, `1,23` is 1 and 23/100 when read in fr-CA, and this would apply to the function names as well. So `=SOMME(...)`. Excel is smart enough to pick up on a locale flag in the file format, but obviously it then shows you a dialog asking you to convert it, needing the language pack.

I also won't assume that we were making "good" excel documents. It's possible we were shipping badly made exports haha

ChatGPT is often wrong, so this is meaningless unless you go and find the actual source.
Well, I'm sure you're smart enough to take that step given it's given us the directions.

For the purposes of this conversation I'm pretty confident what ChatGPT said is correct, feel free to look it up in case you doubt it.

You're making the claim, so it's your job to prove it, not ask some AI and get your opponent to do the legwork. Moreover I skimmed ECMA-376[1] and it doesn't mention anything about locale-invariant encoding for function names. The only mention was for the CELL function, which could accept multiple values depending on locale.

[1] https://github.com/QtExcel/ecma-376-5th/blob/master/ECMA-376...