Сохранение таблицы в Excel + формат ячейки "дата" вместо "общий" Сохраняю таблицу отчета (Файл-Сохранить) в Excel 2010. Есть колонка с датами в формате "#ДДДММГГГГ", положение "центр". Как нужно в 1С отформатировать дату при выводе в таблицу, чтобы в Excel в этой ячейке сразу установился бы формат "Дата"? Сейчас устанавливается формат "Общий". |
"20120105" - общий формат "05.01.2012" - дата |
пересохрани прогой - 1C Предприятие 8.2 - Работа с файлами |
Попробуй выравнять значения не по центру, а право (лучше сразу в конфигураторе). При сохранении эксель должен врубится в нужный формат. |
а вывести в ячейку =Дата(год;месяц;день) религия не позволяет? |
1) Это понятно и так. Естественно выводится "05.01.2012". Написал же про формат "#ДДДММГГГГ" 2) Речь о 1С 7.7 3) Если выравнивание в право, то Excel воспринимает как число. 4) Пробовал. В отчете выводится как "05.01.12". В Excel все равно сохраняется в формате "Общий" |
тогда так попробуй ДатаФормат = "ДД.ММ.ГГГГ"; Лист2.Cells(НомерСтроки,НомерКолонки).NumberFormat = ДатаФормат; даем экселю по башке - впендюриваем формат даты |
Влево |
6) эээ ... неееет, не пойдет. Понятно, что при программной выгрузке в эксель, можно чего хочешь наформатировать. Мне же надо, чтобы в 1С:Предприятие нажал "Сохранить как" и все ... 7) Выравнивание влево, или по центру, дает одинаковый результат. В Excel все равно сохраняется в формате "Общий". |
уважаемый, с такими запролсами валите ка вы .... к разработчикам 1це. |
2(0) У тебя Ексель неправильный. 97-ой отлично понимал строку типа "01.11.2012" как ДАТУ. |
Кстати да, стоит, однако-ж, поставить на MSO2010 SP1... Борюсь с привычкой "Сохранить как - xls" всеми средствами, уж больно много от нее проблем. Если не шашечки, а ехать, то можно решить задачу и внутри Excel, формулами или на VBA: =ДАТА(ЛЕВСИМВ(RC[-1];4);ПСТР(RC[-1];5;2);ПРАВСИМВ(RC[-1];2)) Если эту строку ввести в правила автозамены PuntoSwitcher на набор пары буковок, то получить нужные даты можно за несколько секунд - вставил столбец, нажал пару буковок и пробел, двойной клик по маркеру автозаполнения - вуаля. А на написание/чтение/поиски решения в рамках всего этого поста - у уважаемой публики уже ушло, имхо, 3 человеко-часа, что нанесло ущерб российскому ВВП по меньшей мере в 1 тыс. руб. |
решение давно найдено грамотными человеками. причем работает гораздо быстрее всех предложенных здесь |
Моксель? Так и он иногда пасует перед экзотическими форматами, форматированием пробелами и нестандартными разделителями триад/дробной доли. |
что такое моксель? |
йоксель-моксель, что-же еще? |
ну и нафиг оно нужно? |
Helen1986 - сохранять за 5 секунд в XLS то, что штатным методом Сохранить как не сохранится никогда. |
12)Что за решение то, от грамотных людей? Озвучьте пожалуйста? |
На счет Йокселя, пробовал как то, по минимуму, только для сохранения больших отчетов. А кто в курсе, Йоксель проблему указанную здесь, решает? |
(18) у нас это работает в первую очередь в индивидуальных прайсах для покупателей смысл простой - из обработки пишем в ДБВ файлы (встроенная возможность), ДБФ создается программно, полям записи присваивается нужный тип. Записи сначала записываются в ТЗ и там как надо сортируются (по цене, срокам годности, срокам поставки, изготовителю и ваще как моя левая задняя нога пожелает) Открывается эксель через ОЛЕ выдается команда на создание нужной страницы в экселе (прайсы у нас многостраничные) импортируется внеший ДБФ файл на страницу. Так как эксель признает ДБФ файлы за свои - он прекрасно разбирается в типах ячеек. Импортируется 60 тыс строк за 1-2 секунды Далее у нас раскрашиваются колонки, устанавливается их защита, вносятся формулы для расчетов и т.д. Обработка ведется не отдельных ячеек, а регионов. для создания новой страницы цикл повторяется затем файл экселя записывается все программируется очень легко - есть программка, которая записанные в экселе тексты макросов переделывает в куски кода 1це. Знай себе клепай макросы в экселе, кидай через буфер в программку, и опять таки через буфер в 1це. Думать особо не надА |
при создании файлов экселя (именно прайсов) мы делаем скрытые колонки, в которые заносим идентификатор товара в 1це, контрольные суммы и т.д. покупатель просто проставляет в прайсе количество при этом у него на экране отображается автоматом сумма по группе товаров вес/объем по группе товаров на отдельном листе - суммы по группам товаров вес/объем по группам товаров итоговая сумма итоговый вес после простановки заказанного количества файл отсылается взад. И оператор на основе этого файла формирует расходные накладные с учетом веса, габаритов и т.д. Есть еще заказ через сайты - там немного по другому но заказом через эксельные файлы пользуется куча клиентов - по моему, многие предпочитают именно такую оторванную от инета заказную систему там же реализована защита от подделок |
Helen1986 - одобряю именно такой подход. Где надо много считать - лучше и проще этио сделает Excel... Правда сейчас вОроны налетят, скажут что мы не правы... И тем не менее есть пара ремарок, вдруг кому понадобится: 1) Транслировать код VBA в 1C-код, по моему извращение. Буфер, если это не терминальный сеанс - можно работать с ним и программно. Я бы перенес (у мя тоже есть подобная система) центр кода в Excel. 2) Excel 2007 некорректно работает с DBF при доступе через ODBC/ADO/DAO именно с датами, не делает экспорт в DBF. Начиная с этой версии поставил крест на использование с Excel файлов DBF. Лучше работать с TXT - парсинг мгновенный, все методы штатные, типизация не утиная - а та, которая нужна... |
(22) это не мой подход - это я сперла готовую идею и мне понравилось рисовать для заполнения сложных таблиц экселя с формулами и на нескольких листах транслируется код макроса - точнее, команд, которые надо подать экселю для выполнения. Чтобы мосх не парить |
Прекрасное решение. Только не сабжа, правда. Заявлено: "Сохранение [b]таблицы[/b] в Excel" Предложенно: "[b]Создание[/b] таблицы Excel-я" Что полезно, конечно :D |
Helen1986 - ага, значит все таки наоборот - из кода 1С в Excel передаются команды VBA (т.е. через COM или идет доступ к объектной модели VBProject). Все рано изврат. Если жутко не хочется в XLS файлах держать макросы - держите их в XLA/XLAM - библиотеках. И клиентов антивирус будет спать спокойно, и макросы можно будет редактировать в VBA IDE, что не в пример удобнее COM-обращений. Имхо. VZ - Да... Создание предложено Helen1986, я же предложил либо сохранять быстро тем что умеет не коверкать формат. У создания есть минус - тогда если это терминальный сервер - нужен Excel на сервере, а это лицензионный вопрос, и в случае сложных или долгих макросов - нагрузка на сервак, вплоть до его завешивания. |
(25) фигня твои предложения |
Helen1986 Спасибо за подробное описание. Метод и сфера его применения весьма интересные. А что за программка, которая макросы экселя в код 1С переводит? Не слышал про такую. |
FriendVBA называется |
Контроль - "Авто" Положение - "Центр" - "Центр". Проверено - работает! |
Текущее время: 17:07. Часовой пояс GMT +3. |