Глобализация/локализация отчетов Excel с помощью электронной таблицы

У моей компании появились новые клиенты в Бразилии, и мы поняли, что наши отчеты Excel не работают, когда наши клиенты из Бразилии попытались открыть отчеты в своих бразильских версиях Excel.

Для вывода в Excel мы используем электронные таблицы в нашем веб-приложении vb.net. Наши листы Excel довольно просты. В основном выводится текст/числа/даты, пара формул (сумма, если) и форматирование по валюте и датам.

Я пробовал несколько способов заставить свои отчеты Excel работать:

Сначала я оставил рабочую книгу Excel в культуре «en-US» и попытался просто изменить числовой формат для Бразилии на:

_-[$R$-416] * #.##0,00_-;-[$R$-416] * #.##0,00_-;_-[$R$-416] * "-"??_-;_-@_-

И это отформатировало обычные ячейки, но формулы по-прежнему не отображали значение. Вместо этого они показали значение 0.

Затем я попытался изменить рабочую книгу на культуру «pt-BR», и это также вынудило меня перевести имена формул (Sum -> Soma, If -> Se), но они все равно не должны были иметь значение и вместо этого отображали #Name /#Имя ошибки. Интересно, что формулы будут работать, если я отредактирую ячейку и нажму Enter. Формула не изменится, но каким-то образом исправит эту ячейку.

Мне нужно иметь возможность создавать отчеты Excel, которые могут форматировать даты/валюты и применять простые формулы (IF, Sum) для других культур Excel. У кого-нибудь есть совет?


person mga911    schedule 28.05.2010    source источник


Ответы (1)


Не уверен, что это работает в Excel, так как я давно его не использовал, но у меня была точно такая же проблема в OpenOffice Calc Basic (тоже с использованием pt-BR). Это выдавало мне ошибку, но работало после нажатия клавиши ввода в ячейке. Я обнаружил, что есть разные способы установки английской формулы и локализованной. Например, когда вы пишете формулу с английскими ключевыми словами в ячейку, которую вы используете: cell.Formula = '=IF(cond....)'

Если вы используете локализованное ключевое слово: cell.FomulaLocal = '=SE(cond....)'

Оба метода работают с версией pt_BR, но ключевое слово должно соответствовать имени метода.

Может быть, в Excel есть похожий трюк? Вы пробовали английские ключевые слова в версии pt_BR?

person laurent    schedule 23.06.2010