libxlsxwriter for Clarion

Программы на Clarion, шаблоны, библиотеки и пр.
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3857
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 09 Октябрь 2018, 12:09

kreator писал(а):
09 Октябрь 2018, 11:45
Надо бы подстраховаться
Писали, что проблема с OneDrive. Он через попу выполняет синхронизацию с облаком папки "Мои Документы" …
У меня ничего не исчезло, а вообще есть куча копий на разных компьютерах и серверах … ;)
«V» значит Вендетта !

Аватара пользователя
vic7tar
Активист
Сообщения: 153
Зарегистрирован: 09 Февраль 2017, 20:12

libxlsxwriter for Clarion

Сообщение vic7tar » 09 Октябрь 2018, 13:51

Игорь Столяров писал(а):
09 Октябрь 2018, 9:50
...Вариант 2 вроде бы работает … но как-то хочется понять в чём проблема.
Действительно, какая-то мистика - неужели точка в этом формате проходит?
C10, Win10x64

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3857
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 09 Октябрь 2018, 16:04

vic7tar писал(а):
09 Октябрь 2018, 13:51
неужели точка в этом формате проходит
Таки да. А что в маске формата неправильно ? Или какую маску рекомендуете попробовать ? Заранее спасибо … :)
«V» значит Вендетта !

Аватара пользователя
vic7tar
Активист
Сообщения: 153
Зарегистрирован: 09 Февраль 2017, 20:12

libxlsxwriter for Clarion

Сообщение vic7tar » 09 Октябрь 2018, 17:06

Игорь Столяров писал(а):
09 Октябрь 2018, 16:04
..А что в маске формата неправильно ? Или какую маску рекомендуете попробовать ?..
Точка неправильная.
Какой?, который допустим в Excel, например, # ##0,00
Хотя непонятен переход от # ##0.00 к 0%, что и в какой желательной форме должно выводиться?
C10, Win10x64

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3857
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 09 Октябрь 2018, 18:03

vic7tar писал(а):
09 Октябрь 2018, 17:06
Какой?, который допустим в Excel, например, # ##0,00
Ну не всё так просто, к сожалению … Конечно я пробовал скопипастить формат из листа Excel …
Не работает, проще попробовать, чем написать. А хотелось бы совсем малого, т.е. нормального
отображения чисел в ячейке с нулевой дробной частью при любых региональных настройках.

Например, на Руси принято вот так:
12 345.67
789.00
456 678.50

или для любителей америкосовской региональной настройки:
12 345,67
789,00
456 678,50

и т.д. Предложенная мною ранее маска этот вопрос решает.
Но как показал сегодняшний день - есть некоторые тонкие места, и я их знаю в принципе …

Вообще в XLSXWriter всё хорошо, но есть 2 слабых места:
- Работа с диапазонами выбранных ячеек (форматирование, стирание и т.д.)
- И собственно, работа с форматами ячеек …
«V» значит Вендетта !

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3857
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 10 Октябрь 2018, 9:41

Есть вот такая информация:
Сегодня с утра, радостно жужа HDD и ультимативно требуя перезагрузки, накатилось обещанное исправление Win10 1809.
И ничего … Т.е. описанная ранее проблема со сбоем отображения XLSX файлов c некоторыми масками чисел осталась.
И видимо придётся как-то теперь с этим жить … :(
«V» значит Вендетта !

kreator
Ветеран
Сообщения: 3074
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

libxlsxwriter for Clarion

Сообщение kreator » 10 Октябрь 2018, 10:00

vic7tar писал(а):
09 Октябрь 2018, 17:06
Точка неправильная.
В xml точка пишется для формата.
We are hard at work… for you. :)

Аватара пользователя
vic7tar
Активист
Сообщения: 153
Зарегистрирован: 09 Февраль 2017, 20:12

libxlsxwriter for Clarion

Сообщение vic7tar » 10 Октябрь 2018, 11:54

kreator писал(а):
10 Октябрь 2018, 10:00
В xml точка пишется для формата.
Да, все правильно, мозги переключились на Excel, а там такой формат недопустим.
Посмотрел в сишном коде:

Код: Выделить всё

	format_set_num_format(fmt1, "#,##0.00;-#,##0.00");
	format_set_num_format(fmt2, "# ##0.00;-# ##0.00");

	double nf = 12345.67;
	worksheet_write_number(worksheet, 0, 0, nf, fmt1);
	worksheet_write_number(worksheet, 1, 0, nf, fmt2);
В обоих случаях вывод один и тот же:
12 345,67
C10, Win10x64

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3857
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 10 Октябрь 2018, 16:38

Прекрасно, что разобрались с очевидным. :)
Кстати, ещё можно добавлять в маску подсветку отрицательных значений:

Код: Выделить всё


   Self.Format.ExcelMask = "# ##0.00;[Red]-# ##0.00"
   
«V» значит Вендетта !

Аватара пользователя
vic7tar
Активист
Сообщения: 153
Зарегистрирован: 09 Февраль 2017, 20:12

libxlsxwriter for Clarion

Сообщение vic7tar » 10 Октябрь 2018, 16:57

Я так и не понял, а что не работает?
C10, Win10x64

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3857
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 10 Октябрь 2018, 17:21

С числами проблем нет, эта тема обсуждалась только потому, что Вы спросили про десятичную точку в маске формата … ;)
Проблема есть с маской процента под Win10 1809 … см. моё сообщение ниже от 09 Октябрь 2018, 8:52 .
«V» значит Вендетта !

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3857
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 12 Октябрь 2018, 17:12

Есть вопрос из дальнего замкадья. :)

Можно ли как-то исхитриться, и присвоить XLSX.Format.ExcelMask строку с символом UNICODE ?
Конкретно интересует маска числа с символьным обозначением валюты "Российский рупь". :)
«V» значит Вендетта !

Аватара пользователя
vic7tar
Активист
Сообщения: 153
Зарегистрирован: 09 Февраль 2017, 20:12

libxlsxwriter for Clarion

Сообщение vic7tar » 12 Октябрь 2018, 20:00

Код: Выделить всё

format_set_num_format_index(format, 0x2C);
C10, Win10x64

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3857
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

libxlsxwriter for Clarion

Сообщение Игорь Столяров » 12 Октябрь 2018, 23:23

Спасибо ! Неожиданно - заработало. :)
Я то нумерованные форматы Microsoft Excel видел, но как-то считал, что они показывают суммы в ихних тугриках … :)
«V» значит Вендетта !

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 828
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL » 13 Октябрь 2018, 19:53

Так то от винды зависит, в туркляндии будут тугрики

Ответить