Некорректный экспорт времени в XLSX

Любые критические ошибки будут исправлены в течение 24-48 часов.
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 766
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Re: Некорректный экспорт времени в XLSX

Сообщение Fait »

nruslan2 писал(а): 25 апр 2024, 12:34 Если посмотреть внимательно скрин топикстартера - там значение ячейки не 8:00, а ШТРИХ8:00. Тут проблема не в программе Руко!
Да, именно!
Апостроф ставится там, где значение должно остаться текстом.
Например, при импорте номеров телефонов, начинающихся с +7 будет точно такой же апостроф в начале.
А если его убрать, то эксель выдаст ошибку
HetmanNet
Сообщения: 65
Зарегистрирован: 05 сен 2017, 15:36
Имя: Anon Anon
Откуда: Кременчук
Организация: MasterMilk LLC

Re: Некорректный экспорт времени в XLSX

Сообщение HetmanNet »

support писал(а): 25 апр 2024, 11:38 Но я пока не пойму из за чего такой глуюк. Тип ячейки вроде как общий.
Возможно именно из-за этого?

Так понял есть несколько причин:
1. библиотека (да понимаю это phpspreadsheet) используемая для экспорта при отсутствии указанного типа экспортирует все как текстовые данные (в структуре файла xlsx они хранятся отдельно в xl/sharedStrings.xml от остальных типов в xl/wokrsheets/sheet1.xml).
2. не каждая программа автоматически преобразует типы данных из текста, соответственно пока не кликнешь по нужной ячейке (не войдешь в режим редактирования) преобразования нет, ибо подобное приходится делать в некоторых версиях с датами, чтобы их начало воспринимать как дату.

Думаю использование при экспорте данных типов данных устранило эти проявления: то есть числа как числовые типы, даты как даты, время как время, и т.п.

Кликнуть по сотням ячеек как-то не очень удобно, но не каждый пользователь догадывается.
Последний раз редактировалось HetmanNet 25 апр 2024, 14:19, всего редактировалось 2 раза.
nruslan2
Сообщения: 2415
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow
Контактная информация:

Re: Некорректный экспорт времени в XLSX

Сообщение nruslan2 »

в самом экселе установите в ячейке нужный тип данных и все будет великолепно работать

зы и для телефона тоже)) и никаких доп опострафов ненадо)
HetmanNet
Сообщения: 65
Зарегистрирован: 05 сен 2017, 15:36
Имя: Anon Anon
Откуда: Кременчук
Организация: MasterMilk LLC

Re: Некорректный экспорт времени в XLSX

Сообщение HetmanNet »

nruslan2 писал(а): 25 апр 2024, 13:59 в самом экселе установите в ячейке нужный тип данных и все будет великолепно работать
не работает, поэтому эту тему создал
Аватара пользователя
support
Техническая поддержка
Сообщения: 9008
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Некорректный экспорт времени в XLSX

Сообщение support »

библиотека (да понимаю это phpspreadsheet) используемая для экспорта при отсутствии указанного типа экспортирует все как текстовые данные.
Все верно. И в текстовых данных недолжно ничего добавляться в начале. Программа сама ничего не добавляет.
HetmanNet
Сообщения: 65
Зарегистрирован: 05 сен 2017, 15:36
Имя: Anon Anon
Откуда: Кременчук
Организация: MasterMilk LLC

Re: Некорректный экспорт времени в XLSX

Сообщение HetmanNet »

support писал(а): 26 апр 2024, 10:24
библиотека (да понимаю это phpspreadsheet) используемая для экспорта при отсутствии указанного типа экспортирует все как текстовые данные.
Все верно. И в текстовых данных недолжно ничего добавляться в начале. Программа сама ничего не добавляет.
Именно в этом проблема, потому что все данные экспортируются как текст независимо от типа поэтому программа по умолчанию с ними обязана вести себя как текст. Нигде не определено, что программа должна проверять текстовые данные на предмет возможности приведения к другому типу. Что кстати и видим в разном поведении в зависимости от разработчика и версии.
Также спецификация на формат файла дала подсказку, потому что в ней четко заметно, как разработчики разделяют все типы данных на две категории: текстовые и числовые. Что может объяснить, почему возникают проблемы с автоматическим приведением одного типа к другому, или появление защиты типа (тот символ, который вставляет программа при отображении, но не хранит в файле). Сохраняя числовые типы как текст нарушаете спецификацию на формат файла и соответственно не можете ожидать прогнозируемого поведения в данной ситуации.
Аватара пользователя
support
Техническая поддержка
Сообщения: 9008
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Некорректный экспорт времени в XLSX

Сообщение support »

1) Данные экспортируются, как они выводятся, тоесть в своем формает. Число может иметь префикс/суфикс + свой формат. Пример: 1 000 000 руб.
Я не могу для таких данных установить числовой тип ячейки. Данные будут не корректно отображаться.

2) Для текстового формата excel не должен ничего добавлять. Это какой то глюк в самом excel.
HetmanNet
Сообщения: 65
Зарегистрирован: 05 сен 2017, 15:36
Имя: Anon Anon
Откуда: Кременчук
Организация: MasterMilk LLC

Re: Некорректный экспорт времени в XLSX

Сообщение HetmanNet »

support писал(а): 26 апр 2024, 11:02 1) Данные экспортируются, как они выводятся, тоесть в своем формает. Число может иметь префикс/суфикс + свой формат. Пример: 1 000 000 руб.
Я не могу для таких данных установить числовой тип ячейки. Данные будут не корректно отображаться.
Понимаю, что созданы пользователем собственные. Это действительно тянет на предложение добавить настройки экспорта данных типов. В таком случае это не ошибка была бы.

Но дело в том, что проблема с системными типами, то есть типами формат которых известен и можно определить автоматически.
support писал(а): 26 апр 2024, 11:02 2) Для текстового формата excel не должен ничего добавлять. Это какой то глюк в самом excel.
Это не глюк ms exel или другого табличного процессора, выяснилось, он таким образом маркирует ячейки, которые без данной маркировки пользователем могут быть восприняты некорректно, т.е. не данные в сохраненном файле добавили такую метку (она в файлы не сохраняется, только отображается).

Но независимо маркирует программа данные данные или нет, она с ними не работает как с числами и считает просто текстом пока в процессе редактирования значение не выполняет преобразование, потому что именно такая определенная трактовка предусмотрена форматом файла.

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

Так что хотите или нет, но авторы формата не предусмотрели альтернативный сценарий для корректного хранения данных, поэтому для предполагаемой работы нужно корректно задавать типы в файле.

Отсутствие возможности экспортировать корректно данные для расчетов лишают весомой доли возможностей.
Аватара пользователя
support
Техническая поддержка
Сообщения: 9008
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Некорректный экспорт времени в XLSX

Сообщение support »

Добавил в план возможность задать тип колонки при экспорте.
Ответить