|
Экспорт в xlsx - форматы не работают
|
|||
---|---|---|---|
#18+
Из скрипта экспортирую данные в файл xlsx Код: plsql 1. 2. 3. 4. 5. 6. 7.
Ранее, когда делал экспорт в xls, видимо и более ранними версиями IBEScript, указание CurrencyFormat применяло этот формат к полю с суммой. Сейчас на этот формат не ругается, но он и не применяется. В файле xlsx в списке форматов этого моего нестандартного формата не вижу. Добавление параметра FloatFormat тоже ни к чему не приводит. Они теперь вообще не работают? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2020, 01:21 |
|
Экспорт в xlsx - форматы не работают
|
|||
---|---|---|---|
#18+
Ну так ты загляни в результирующий xlsx - там обычный xml. Прописаны ли форматы к соответствующим ячейкам? Правильно ли прописаны? Эксель что говорит? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2020, 13:11 |
|
Экспорт в xlsx - форматы не работают
|
|||
---|---|---|---|
#18+
Скрипт в UTF8. Код: xml 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. 26.
Разбираться есть ли ссылки на формат из ячеек не стал, т.к. формат уже в каком-то странном виде. Т.к. я все равно полученные после экспорта файлы дорабатываю макросами, все форматирование делаю в макросах. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2020, 09:57 |
|
Экспорт в xlsx - форматы не работают
|
|||
---|---|---|---|
#18+
Очевидно, теперь твой эксель не понимает "Красный" и хочет "Red". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 07:02 |
|
Экспорт в xlsx - форматы не работают
|
|||
---|---|---|---|
#18+
IBExpert Очевидно, теперь твой эксель не понимает "Красный" и хочет "Red". Может быть я как-то непонятно написал. Я пробовал задавать в IBExpert и "Красный" и "Red". Результат что получается при этом в файле сделанным IBExpert я привел, для обоих случаев. Кстати, результат для обоих случаев одинаковый. Так же взял этот файл xlsx, открыл в этом самом моем Excel, проставил нужный мне формат "Красный" и посмотрел что при этом в xml. Там "Red". Впрочем, думаю что и раньше в файл писался именно Red. Так вот, то что на основании моих форматов пишет IBExpert в xml - мой Excel понимать отказывается. И это логично, т.к. там совсем не то что ожидается. И еще раз обращаю внимание. Мой формат работал ранее в xls, и сейчас работает в самом распоследнем Excel, при задании его вручную. Но если его же задать в IBExpert - то в файл попадает что-то странное и Excel это странное не понимает. ИМХО очевидно где слабое звено. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 07:34 |
|
Экспорт в xlsx - форматы не работают
|
|||
---|---|---|---|
#18+
Оказалось, что при таком экспорте пользовательские форматы в результирующий xlsx вообще не пишутся. Я же имел в виду другой тип экспорта: Код: plsql 1. 2. 3. 4. 5. 6. 7.
Вот в этом случае на выходе голый XML, который открывается экселем. Форматы туда пишутся, но не факт, что будут работать как в старом экселе. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2020, 12:03 |
|
Экспорт в xlsx - форматы не работают
|
|||
---|---|---|---|
#18+
Вариант Код: plsql 1.
отсутствует в документации. https://www.ibexpert.net/ibe/pmwiki.php?n=Doc.EXPORTASINTO ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2020, 06:38 |
|
Экспорт в xlsx - форматы не работают
|
|||
---|---|---|---|
#18+
Про Код: plaintext
Вот так делается запрос и экспортируется в файл. База в UTF8, чарсет коннекта UTF8, сам скрипт с запросом - в UTF8. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
1. Поля формата timestamp и, вероятно, date , при экспорте получают тип Numeric и вместо даты в колонке отображается число(в смысле цифры). Раз строки и числа какой-то дефолтный тип имеют, логично было бы и тут подставлять тип имеющий отношение к типу поля (дате-времени). 2. Заголовки полей - поломана кодировка. 3. Формат - в этом случае (as XMLTABLE) формат работает. Но не так как было раньше, формат пришлось изменить. И "[Красный]" теперь не прокатывает, Excel вообще файл с таким форматом "[Красный]" открывать отказывается. Код: plaintext
Под спойлером - кусок из начала получившегося файла. Первая строка - Заголовки - поломана кодировка. При этом, экспорт as XLS кодировку заголовков колонок (первую строку) не ломает. Вторая строка - <Cell ss:StyleID="s66"><Data ss:Type="DateTime">2019-01-03T00:00:00.000</Data></Cell> это я в Excel задал нужный формат для колонки с датой. Третья строка <Cell><Data ss:Type="Number">43471</Data></Cell> а вот так выглядит поле с датой после экспорта из IBExpert. Код: xml 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2020, 07:52 |
|
Экспорт в xlsx - форматы не работают
|
|||
---|---|---|---|
#18+
fraks 1. Поля формата timestamp и, вероятно, date , при экспорте получают тип Numeric и вместо даты в колонке отображается число(в смысле цифры). Раз строки и числа какой-то дефолтный тип имеют, логично было бы и тут подставлять тип имеющий отношение к типу поля (дате-времени). Не знаю, откуда у тебя там тип Numeric берется. В xml они попадают правильно, сформатированные как таймштамп. Но вот если формат ячейки не задан, в экселе будут отображаться просто как числа, да. Впрочем, я сейчас прописал там дефолтовые системные форматы, так что теперь все нормально должно быть. fraks 2. Заголовки полей - поломана кодировка. Это исправил. fraks 3. Формат - в этом случае (as XMLTABLE) формат работает. Но не так как было раньше, формат пришлось изменить. И "[Красный]" теперь не прокатывает, Excel вообще файл с таким форматом "[Красный]" открывать отказывается. Код: plaintext
Ну, вроде логично, что в xml никаких "красный" и прочих китайских слов в идентификаторе цвета быть не должно. Странно, что раньше эксель такое понимал. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 17:00 |
|
Экспорт в xlsx - форматы не работают
|
|||
---|---|---|---|
#18+
IBExpert fraks 1. Поля формата timestamp и, вероятно, date , при экспорте получают тип Numeric и вместо даты в колонке отображается число(в смысле цифры). Раз строки и числа какой-то дефолтный тип имеют, логично было бы и тут подставлять тип имеющий отношение к типу поля (дате-времени). Не знаю, откуда у тебя там тип Numeric берется. В xml они попадают правильно, сформатированные как таймштамп. Но вот если формат ячейки не задан, в экселе будут отображаться просто как числа, да. Впрочем, я сейчас прописал там дефолтовые системные форматы, так что теперь все нормально должно быть. Берется оно там следующим образом. Делаем 2 поля, первое типа date, второе типа timestamp. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Получаем корректные данные в значении полей Код: xml 1. 2. 3. 4. 5. 6. 7.
Но в форматах прописано вот так: Код: xml 1. 2. 3. 4. 5. 6. 7.
Т.е. - для поля типа timestamp формат для ячейки задается в виде даты (хотя не совсем логично, нужно же дату-время). - для поля типа date данные записываются корректно, но формат ячейки не задан как date, и Excel трактует эти данные как цифры а не дату. Это в IBEScript версия файла 2019.10.9.1 IBExpert fraks 2. Заголовки полей - поломана кодировка. Это исправил. Спасибо. А в какой версии/когда это будет доступно? IBExpert fraks 3. Формат - в этом случае (as XMLTABLE) формат работает. Но не так как было раньше, формат пришлось изменить. И "[Красный]" теперь не прокатывает, Excel вообще файл с таким форматом "[Красный]" открывать отказывается. Код: plaintext
Ну, вроде логично, что в xml никаких "красный" и прочих китайских слов в идентификаторе цвета быть не должно. Странно, что раньше эксель такое понимал. Думаю это связано с локализацией языка формул. Пишем в Excel 2 одинаковых формулы, Код: plaintext 1. 2.
На вторую формулу ругается, типа не понимает что за фигня #NAME? Получаем в файле такое: Код: xml 1. 2. 3. 4. 5. 6. 7. 8.
Т.е. формулу задали корректно, но на стадии разбора ввода пользователя получаем отлуп. То что раньше допускался [Красный] IMHO связано с тем что место преобразования Красный -> Red было где-то в другом месте, а сейчас оно выпало, или просто не реализовано в коде экспорта. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 05:38 |
|
Экспорт в xlsx - форматы не работают
|
|||
---|---|---|---|
#18+
fraks Спасибо. А в какой версии/когда это будет доступно? В сегодняшней версии эксперта проверь. Если все нормально - соберу IBEScript. fraks Т.е. формулу задали корректно, но на стадии разбора ввода пользователя получаем отлуп. То что раньше допускался [Красный] IMHO связано с тем что место преобразования Красный -> Red было где-то в другом месте, а сейчас оно выпало, или просто не реализовано в коде экспорта. В коде экспорта такого преобразования совершенно точно никогда не было. Этим сам эксель занимается или занимался. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 07:30 |
|
Экспорт в xlsx - форматы не работают
|
|||
---|---|---|---|
#18+
IBExpert fraks Спасибо. А в какой версии/когда это будет доступно? В сегодняшней версии эксперта проверь. Если все нормально - соберу IBEScript. IBExpert 2020.1.28.1 - Заголовки колонок кодировку не портят. - Формат ячеек для date и timestamp выставляется нормально. - CurrencyFormat применяется (если правильно его написать). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 09:18 |
|
|
start [/forum/topic.php?fid=42&msg=39917085&tid=1598678]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
174ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 292ms |
0 / 0 |