Страница 42 из 61

libxlsxwriter for Clarion

Добавлено: 13 Октябрь 2018, 20:12
Игорь Столяров
RaFaeL писал(а): 13 Октябрь 2018, 19:53Так то от винды зависит, в туркляндии будут тугрики
Таки это же надо сообразить …
Во всех примерах (в т.ч. и "русском" Microsoft Excel) в маске формата, ПЕРЕД суммой стоит символ валюты: $
Кто же знал, что она подлая, будет его заменять на символ "рупь" да еще переносить его после суммы …
Эт только методом тыка познаётся. :)

libxlsxwriter for Clarion

Добавлено: 13 Октябрь 2018, 20:39
RaFaeL
Я о том, что если откроете файл в винде с американскими региональными настройками, то отобразятся доллары, от чего могут возникнуть нюансы

libxlsxwriter for Clarion

Добавлено: 13 Октябрь 2018, 20:59
Игорь Столяров
RaFaeL писал(а): 13 Октябрь 2018, 20:39файл в винде с американскими региональными настройками
Я ж с того и начал … Если задавать маску ячейки "'#,##0.00 Р;[Red]#,##0.00 Р'" - то везде будет рупь,
но я не знаю как из Clarion записать символ рубля … Если задавать через номер встроенного формата -
то с символом национальной валюты проблем нет, но могут быть нюансы в зависимости от локализации.
В общем, нет полного сщастия. :(

libxlsxwriter for Clarion

Добавлено: 13 Октябрь 2018, 21:19
Дед Пахом
А нельзя вызвать встроенную в Excel функцию UNICHAR, как-то так:

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

#,##0.00 UNICHAR(8381);[Red]#,##0.00 UNICHAR(8381)
где 8381 - код рубля?

libxlsxwriter for Clarion

Добавлено: 13 Октябрь 2018, 21:26
Игорь Столяров
Не хочет она так. Совсем … Видимо в маске формата функции не работают, это же не формула ...

libxlsxwriter for Clarion

Добавлено: 13 Октябрь 2018, 21:38
Дед Пахом
А если libxlsxwriter работает в UTF-8, можно передать рубль так:

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

'#,##0.00 <0eh,02h,08h,02h,0bh,0dh>;[Red]#,##0.00 <0eh,02h,08h,02h,0bh,0dh>'
где <0eh,02h,08h,02h,0bh,0dh> символ рубля в utf-8.

libxlsxwriter for Clarion

Добавлено: 13 Октябрь 2018, 21:47
Игорь Столяров
Вот и я, что-то подобное пытался прикрутить … Не хочет оно так. :(

libxlsxwriter for Clarion

Добавлено: 13 Октябрь 2018, 21:48
RaFaeL
Там надо передать нечто, что при конвертации из 1251 в UTF-8 даст этот набор символов

libxlsxwriter for Clarion

Добавлено: 13 Октябрь 2018, 22:29
Дед Пахом
Для очистки совести надо проверить <0e2h,082h,0bdh>, но думаю, тоже не сработает.
А вот этот пример https://libxlsxwriter.github.io/utf8_8c-example.html что означает?

libxlsxwriter for Clarion

Добавлено: 13 Октябрь 2018, 22:41
RaFaeL
Экспериментируйте

libxlsxwriter for Clarion

Добавлено: 11 Февраль 2019, 14:57
Губин Игорь
Предлагаю в xlsxwriter.inc и clw заменить

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

  MODULE('xlsxwriter.clw')
    FormDateTime(*XLSX:datetime dt_,LONG date_,LONG time_)
    FormLine(*XLSX:chart_line_ line_,<LONG color_>,<BYTE none_>,<REAL width_>,<BYTE dash_type_>,<BYTE transparency_>)
    FormFill(*XLSX:chart_fill fill_,<LONG color_>,<BYTE none_>,<BYTE transparency_>)
    FormFont(*XLSX:chart_font font_,<REAL size_>,<LONG style_>,<LONG rotation_>,<LONG color_>)
    RGBColor(LONG color),LONG
    GetSystemColor(LONG Color),LONG
  END
на

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

  
  MODULE('xlsxwriter.clw')
    XLSX:FormDateTime(*XLSX:datetime dt_,LONG date_,LONG time_)
    XLSX:FormLine(*XLSX:chart_line_ line_,<LONG color_>,<BYTE none_>,<REAL width_>,<BYTE dash_type_>,<BYTE transparency_>)
    XLSX:FormFill(*XLSX:chart_fill fill_,<LONG color_>,<BYTE none_>,<BYTE transparency_>)
    XLSX:FormFont(*XLSX:chart_font font_,<REAL size_>,<LONG style_>,<LONG rotation_>,<LONG color_>)
    XLSX:RGBColor(LONG color),LONG
    XLSX:GetSystemColor(LONG Color),LONG
  END
Это будет гарантировать от конфликтов с похожими наименованиями у пользователя

libxlsxwriter for Clarion

Добавлено: 11 Февраль 2019, 15:28
RaFaeL
Спасибо, заменю

libxlsxwriter for Clarion

Добавлено: 11 Февраль 2019, 15:35
Губин Игорь
RaFaeL писал(а): 11 Февраль 2019, 15:28Спасибо, заменю
Было бы хорошо, но уже поздно, использовать при вызове функций порядок переменных аналогичный dExcel.
А то приходится переписывать кучу всего :idied:

libxlsxwriter for Clarion

Добавлено: 11 Февраль 2019, 15:38
RaFaeL
Было бы хорошо, но уже поздно, использовать при вызове функций порядок переменных аналогичный dExcel.
Никогда не пользовались. Порядок переменных приближен к оригинальной библиотеке, где это возможно, чтобы не писать свою документацию )

libxlsxwriter for Clarion

Добавлено: 11 Февраль 2019, 15:57
Игорь Столяров
Губин Игорь писал(а): 11 Февраль 2019, 15:35при вызове функций порядок переменных аналогичный dExcel
Напишите свой subclass вызова методов XLSXWriter в удобном Вам виде для замены (как в dExcel, цеExcel и т.д.) ;)
Мы ниже это обсуждали. Я так делал при переводе копипастом кода отчётов с OLE Excel … :)