Страницы: 1
RSS
Замена "числовой" даты на привычный формат.
 
Добрый день! Помогите пожалуйста со следующей проблемой: есть XML файл, в одном из столбцов(последний, IssueData) есть дата в виде числа(41137 и.тд). Как ее перевести в вид "гг-мм-дд"? При изменении формата ячеек данные меняются, экспортирую XML, открываю, а там снова те же значения.  Совсем недавно после каких-то танцов с бубнами у меня получилось изменить формат, но право, сейчас никак не могу вспомнить. Спасибо.
Изменено: sar - 17.10.2017 14:19:23
 
sar, здравствуйте. С вашим файлом-примером помогающим будет намного проще вам помочь.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Залить сюда не получается, ругается на размер, хотя весит менее 100кб.  
Изменено: sar - 17.10.2017 14:28:24
 
Цитата
sar написал:
ругается на размер, хотя весит менее 100кб
обновите страницу и попробуйте ещё раз. Или упакуйте в архив. Бывает такое
Ссылок лучше не надо
Изменено: Jack Famous - 17.10.2017 14:25:54
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Вот, кажется получилось.
 
Добавьте столбец =ТЕКСТ([@IssueDate];"гг-ММ-дд"), вставьте его как значения и используйте его в качестве IssueDate
Изменено: webley - 17.10.2017 14:37:45
 
webley абсолютно прав))))
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Огромное Вам спасибо! А может вы еще подскажете, как ее можно представить в форме "2015-05-25" ?  
 
sar, "ГГГГ-ММ-ДД". Надеюсь, логика понятна)) если что, гуглите функция excel текст и изучайте варианты. Ещё можно гуглить формат ячейки  ;)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Jack Famous написал:
sar , "ГГГГ-ММ-ДД". Надеюсь, логика понятна)) если что, гуглите функция excel текст и изучайте варианты. Ещё можно гуглить формат ячейки  
Немного новичок в этом деле, но вы разжевали так, что я понял) еще раз огромное Вам спасибо!
 
Дополню Jack Famous - в формате принципиально, чтобы "ММ" было именно большими буквами, остальные неважно
 
sar, обращайтесь)
webley, ага) помню, первое время перебирал комбинации и не понимал, почему не выходит)))
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
А вообще, по хорошему, надо менять тип данных элемента в схеме, но как - я не знаю. До самого типа через VBA я добрался (integer), но похоже только для чтения...
 
webley, абсолютно согласен, что "костыли" - не есть хорошо.
Для автора нашёл вот ( 1 2 3 4) несколько ссылок, беглый взгляд на содержание которых говорит, что всё возможно. Разбираться пока нет времени…
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Общая идея такая:
1. Импортируем xml в excel, получаем xml-схему
2. Эту схему сохраняем в отдельный файл с помощью макроса:
Код
Sub test()
    Dim xm As XmlMap
    Dim xs As XmlSchema
    Set xm = ThisWorkbook.XmlMaps("ISVUZ_карта")
    Set xs = xm.Schemas(1)
    Dim fso As New FileSystemObject
    Dim ts As TextStream
    Set ts = fso.OpenTextFile(ThisWorkbook.Path & "\xml.xsd", ForWriting, True)
    ts.Write xs.XML
    ts.Close
End Sub
3. Редактируем полученный файл в текстовом редакторе (меняем  у соответствующего элемента integer на date)
4. В новом окне excel импортируем скорректированную схему и сопоставляем ее с ячейками
5. После этого импортируем исходный xml - теперь он выделит числа, как не соответствующие формату, при этом формат столбца будет "дата"
6. Преобразуем числа в даты путем умножения на 1
7. Экспортируем xml
 
webley, круто  :idea:  сохранил в закладки на будущее. Спасибо большое за методику и макрос!  :)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх