Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Формат вывода валют в ячейках Excel (NumberFormat). Автозамена символов FormatString / 2 сообщений из 2, страница 1 из 1
11.03.2013, 17:01
    #38180151
Santa_RND
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат вывода валют в ячейках Excel (NumberFormat). Автозамена символов FormatString
Приветствую! Коллеги.

Пишу обработчик, который работает с ценами (сохраняет отчет) в формате MS Excel 2010. Сам скрипт выполняется на сервере, соответственно, он сохраняет файлы на HDD, клиенты скачивают файлы и открывают на различных версиях Excel.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
...
 string currencyFormatString = "";
                switch (currency.CurrencyCode)
                {
                    case "RUR":
                        {
                            currencyFormatString = "# ##0,00р.";
                            break;
                        }
                    case "USD":
                        {
                            currencyFormatString = "$# ##0,00";
                            break;
                        }
                    case "EUR":
                        {
                            currencyFormatString = "€# ##0,00";
                            break;
                        }
                }
...
GetCell(ws, "F", currentRowIndex).Value = someValue;
GetCell(ws, "F", currentRowIndex).Style.Locked = true;
GetCell(ws, "F", currentRowIndex).Style.Numberformat.Format = currencyFormatString;  
...



Проблема в том, что почему-то символы разделители удаляются, вместо точки клиентский Excel заменяет на , и т.п. Прошу помощи.
...
Рейтинг: 0 / 0
13.03.2013, 00:15
    #38182229
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат вывода валют в ячейках Excel (NumberFormat). Автозамена символов FormatString
Установите в ячейке нужный формат через Ctrl+1 и потом посмотрите свойство Numberformat.
У меня получилось так (русский Офис 2000):

RUR - #,##0.00$ (Обозначение "р.") или #,##0.00[$р.-419] (Обозначение "р. Русский"). Второй вариант независим от локали.
USD - [$$-409]#,##0.00
EUR - [$€-2] #,##0.00
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Формат вывода валют в ячейках Excel (NumberFormat). Автозамена символов FormatString / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]