Я сгенерировал файл Excel в своем приложении в xlsx формате. К сожалению, если я использую английское имя функции, и мой Excel не установлен на английский, тогда Excel идентифицирует его как неправильное имя функции. Симилярной ситуации не бывает в xls формате.Название формулы Excel на разных языках в формате xlsx
Можно ли избежать этой проблемы?
Конфигурация самого Excel не является приемлемым решением, так как клиент не должен принудительно вносить изменения в свою среду.
Заранее спасибо за любую помощь
Ваше утверждение неверно. Office Open XML хранит формулы Excel всегда в обозначениях en_us, никогда в других обозначениях языка. Изменение в локальных обозначениях происходит только в графическом интерфейсе Excel. Но есть разница между содержимым ячейки формулы и содержимым ячейки строки. Формула ** не ** просто строка, начинающаяся с «=». –
@AxelRichter Благодарим за информацию. Я использую внешнюю библиотеку для генерации файлов excel, и я не уверен, возможно ли различать содержимое ячейки формулы и содержимое ячейки строки. Можно ли явно проинформировать Excel о том, что это формула, которая должна быть обработана или она находится на уровне кодирования файла (некоторые метатеги), которые нельзя изменить с gui. – kadiii
Это зависит от внешней библиотеки, которую вы используете. В Office Open XML (формат файлов * .xlsx) XML для ячейки строки выглядит следующим образом: ' '. Там 't =" s "' означает строку типа, а значение 49 относится к позиции 49 в таблице общих строк. Элемент формулы выглядит следующим образом: ' COUNTIF ($ B8: $ AF8," Pr ") '. Как вы видите, существует специальный тег элемента 'f' для формул, а значение 5 - последний вычисленный результат. –