|
Сохранение табличного документа в EXCEL. Дата сохраняется как текст | ☑ | ||
---|---|---|---|---|
0
25-11
14.05.18
✎
20:41
|
Подскажите, если кто-то сталкивался.
Имеется табличный документ, в одной из колонок записаны даты в формате dd.MM.yyyy При сохранении в EXCEL (xlsx) соответствующие ячейки воспринимаются как текст. Какой выбрать формат в 1С, чтобы в EXCELе "железно" получалась именно дата? |
|||
1
Зуекщмшср
15.05.18
✎
04:46
|
Надо не в 1С, а в файле Excel задать формат колонки. Как - ищи в интернете, не помню.
|
|||
2
Cool_Profi
15.05.18
✎
05:41
|
Выравниваем поиграйся. То ли вправо, то ли влево - сходу не помню
|
|||
3
25-11
15.05.18
✎
07:43
|
(1) Файл сохраняется в EXCEL стандартным образом: ТабличныйДокумент.Записать(ИмяФайла, ФорматФайла)
Такая же ерунда, если в просто в пользовательском режиме сохранять по кнопке с дискетой При таком способе нет возможности что-то задать EXCEL (2) Пробовал самые разные варианты выравнивания - пока не вышло. Методом проб и ошибок обнаружено, что если потом в EXCEL вызвать диалог "Найти и заменить" и поменять "." на "." (точку на точку), то дата воспринимается как дата. Но это как-то уж слишком похоже на вырезание гланд через задний проход... Если кому-то известен более технологичный вариант - расскажите, пожалуйста. |
|||
4
Мимохожий Однако
15.05.18
✎
08:29
|
Поставь апостроф впереди даты
|
|||
5
catena
15.05.18
✎
08:54
|
(3)Э... выделяешь колонку - пкм - формат - дата - в меню Данные - Текст по столбцам - Далее - Далее - Дата - ОК.
Ну или заполнять программно с установкой формата ячеек. |
|||
6
25-11
15.05.18
✎
09:06
|
(4)Это зачем? Апостроф "сообщает" EXCELю, что в ячейке текст. Мне же нужно ровно наооборот. Чтобы он не воспринимал дату как текст.
(5) Это всё же постобработка уже готового файла... С заменой даже проще. Неужели нет какого-то простейшего варианта, не требующего работы в EXCELе? |
|||
7
25-11
15.05.18
✎
09:18
|
Предположим, что на том раб. месте, где формируется файл, вообще нет EXCEL. 1С сама создаёт файл в формате xlsx. Штатными средствами, например, через диалог "Файл - Сохранить". Или программно, через запись табличного документа.
Задача заключается в том, чтобы при открытии этого файла где-то в другом месте, ячейки, содержащие значения даты, EXCEL сразу "понял" как даты. В такой постановке задача разрешима? |
|||
8
VS-1976
15.05.18
✎
09:23
|
(7) Сохраняешь в формате excel, а потом открываешь в экселе и программно колонке задаёшь формат
|
|||
9
catena
15.05.18
✎
09:25
|
(6)Это с датой проблема проще. Ексель вообще любит типы корежить.
(7)Программно - я уже сказала, не сохраняй, а заполняй с принудительной установкой формата и все нормально фиксируется. |
|||
10
Сияющий в темноте
15.05.18
✎
09:37
|
Разнын разделители даты в 1с и в Excel приводят к тому,что выражение определяется как текст. Можнл попробовать у ячейки в 1с задать формат даты и задать соответствующий шаблон,чтобы этот шаблон сохранился в Excel,последняя же не дура и по шаблону поймет,что там дата
|
|||
11
VS-1976
15.05.18
✎
09:45
|
(10) Формат это преобразование в текст ( не спасает ). Содержит значение так же не спасает. Отца русской демократии спасёт либо формирование данных в excel либо пост обработка в excel
|
|||
12
25-11
15.05.18
✎
09:46
|
(9) Уважаемая, нет Excel вообще, нет ничего кроме 1С. Что предлагается сделать программно? Табличный документ? А дальше-то что?
(10) попробую и так... |
|||
13
Сияющий в темноте
15.05.18
✎
09:47
|
ADO спасет ADO,но это те еще грабли
|
|||
14
VS-1976
15.05.18
✎
09:50
|
(12) Не спасёт. Можешь создать в 1С табличный документ, установить параметры ячейки и прописать дату и сохранить как. Ничего не спасает. Можно без excel через ADO но и там засада чтобы выгрузить формат отличный от текст, возможно режим IMEX=2 и спасёт отца, но нужно курить долго.
|
|||
15
25-11
15.05.18
✎
10:05
|
(14) [ничего не спасает]
Оптимистично! Блин, простейшая, казалось бы, ситуация. И такая неожиданная засада. Спасибо всем откликнувшимся. |
|||
16
Cool_Profi
15.05.18
✎
10:26
|
Вот сейчас накидал примитивную обработку.
Просто одна строка в макете с полем даты с форматом ДФ=dd.MM.yyyy Вывел туда текущую дату. Ничем больше не игрался. Сохранил в xlsx, проверил - там дата. 8,2,19 Может, в платформе проблема? |
|||
17
25-11
15.05.18
✎
10:39
|
(16) Может и в платформе. А ты как проверял, что там именно дата? EXCEL весьма хитро себя ведёт. Например, сам преобразует, если ты захочешь прибавить 1.
Попробуй фильтр - мне пользователи на это указывали. |
|||
18
25-11
15.05.18
✎
10:58
|
(16) А самое простое установи у твоей ячейки числовой формат. Если там на самом деле сегодняшняя дата, то должно появиться число 43235
А если этого не происходит, значит, всё-таки текст... |
|||
19
VS-1976
15.05.18
✎
11:02
|
(18) Через формат всё же делается. В ячейке если задать Data формат, то в эксел формат передаётся. Только не используй Содержит значение иначе будет текст
|
|||
20
3achem
15.05.18
✎
11:08
|
Через VBA ещё никто не предложил?
|
|||
21
25-11
15.05.18
✎
11:08
|
(19) У меня не получается. Ты точно говоришь о свойствах ячейки табличного документа 1С?
|
|||
22
25-11
15.05.18
✎
11:13
|
(20) Через VBA особых проблем нет. Удаётся свести к одной строке (после открытия и активизации листа):
ТекЛист.Rows.Replace(".","."); Но в самом общем случае, см. (7), EXCELя может и не быть. И тогда уже никак? |
|||
23
VS-1976
15.05.18
✎
11:20
|
(21) Да сделай руками это. Через меню файл \ Новый \ Табличный документ. Там в ячейке ( свойствах ) задай формат. Потом сохрани как
|
|||
24
Birmingem
15.05.18
✎
12:05
|
Да, есть такая засада.
В 7.7 тоже с этой проблемой мучился. Думал, уж в 8.3 то, должны были решить этот вопрос... Оказывается нет ... Пришлось опять, по старинке, программно файл Ексель заполнять. |
|||
25
25-11
15.05.18
✎
12:15
|
(23) Сделал... всё равно текст получается. Может быть, действительно дело в версии платформы? У тебя какая?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |