Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2015, 16:48   #1
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию Форматированный вывод в Ехсеl

Вывожу данные в Excel так:

ObjWorkSheet.Cells[3, 3] = textBox148.Text.Replace('.', ',');



Как сделать, что бы в ячейка была числовая и выводилось туда число с 2 знаками после запятой?
И как задать размеры ячейки, в которую вывожу?
userrrr вне форума Ответить с цитированием
Старый 03.10.2015, 17:09   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Как-то задать это в настройках формата ячейки.

Если надо только 2007+ эксель (xlsx), то советую взять какую-нибудь обертку над OpenXML (например ClosedXML https://closedxml.codeplex.com/), там обычно все проще делается и не нужен установленный эксель. Ну и быстрее, ибо не надо дергать COM и эксель.

А зачем точку на запятую менять? Если и менять, то наверно надо на то, что в настройках системы стоит (CultureInfo.CurrentCulture.NumberF ormat.NumberDecimalSeparator)
Или может быть можно сразу экселю давать число, а не строку (в ClosedXML точно можно, в обычном Interop'e не помню).

Цитата:
Код:
textBox148
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.10.2015, 17:14   #3
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Ну да, на самом деле надо не точку на запятую менять, а число выводить с 2 знаками после запятой. Как изменится эта строка:
ObjWorkSheet.Cells[3, 3] = textBox148.Text.Replace('.', ',');
userrrr вне форума Ответить с цитированием
Старый 03.10.2015, 17:28   #4
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Имею ввиду как изменить эту строку, что бы достичь нужного результата?
userrrr вне форума Ответить с цитированием
Старый 03.10.2015, 17:45   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Надо осмыслить сообщение выше и почитать документацию/гугл про то, как задавать формат ячейки в Excel Interop.
Или взять предложенную альтернативу и почитать документацию к ней.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.10.2015, 17:59   #6
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Так?
ObjWorkSheet.Cells[3, 3].NumberFormat.NumberDecimalSeparato r = textBox148.Text.Replace('.', ',');
userrrr вне форума Ответить с цитированием
Старый 03.10.2015, 17:59   #7
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Так?
ObjWorkSheet.Cells[3, 3].NumberFormat.NumberDecimalSeparato r = textBox148.Text.Replace('.', ',');
userrrr вне форума Ответить с цитированием
Старый 03.10.2015, 18:00   #8
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Нет, не так
userrrr вне форума Ответить с цитированием
Старый 03.10.2015, 18:19   #9
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Не понимаю...
userrrr вне форума Ответить с цитированием
Старый 03.10.2015, 18:22   #10
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

КАк использовать в моем случае?


NumberFormatInfo nfi = new CultureInfo( "en-US", false ).NumberFormat;


Int64 myInt = 123456789;
Console.WriteLine( myInt.ToString( "N", nfi ) );

nfi.NumberDecimalSeparator = " ";
userrrr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форматированный вывод в файл Kreadlling Общие вопросы Delphi 1 05.04.2012 21:56
форматированный вывод Dimarik Общие вопросы C/C++ 5 12.03.2011 15:42
Форматированный вывод cout Airou Общие вопросы C/C++ 0 13.12.2010 13:41
Форматированный ввод/вывод на Си Кирилиус Помощь студентам 3 16.09.2009 15:12
Форматированный вывод чисел frankfish Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 04.03.2009 17:59