|
сохранить файл эксел (формат xls Microsoft Office Excel 97-2003 (.xls)) в формате xlsx | ☑ | ||
---|---|---|---|---|
0
Новый1сник2
05.09.21
✎
18:27
|
Доброго дня коллеги!
поставщики скидывают остатки и прайсы в формате (xls), вопрос к знатокам, как можно пересохранить этот файл в формате xlsx, программно ? |
|||
1
VS-1976
05.09.21
✎
18:30
|
А зачем менять формат?
|
|||
2
ДенисЧ
05.09.21
✎
18:31
|
Открыть в новом экселе и сохраниьт как
|
|||
3
Новый1сник2
05.09.21
✎
18:32
|
(1) настроена загрузка, читает только в формате xlsx, чтобы не переписывать загрузку, хотелось бы конвертировать xls в xlsx программно!
|
|||
4
Новый1сник2
05.09.21
✎
18:34
|
(2) благодарю, но юзеры не всегда продвинутые, да и лишние кнопки нажимать, так себе, хотелось бы автоматизировать. пользователю оставить только выбор файла.
|
|||
5
VS-1976
05.09.21
✎
18:34
|
(3) Странно, а что она не может брать файлы по маске .xls*
|
|||
6
Новый1сник2
05.09.21
✎
18:36
|
(5) файл то можно выбрать, только он не читается
|
|||
7
ДенисЧ
05.09.21
✎
18:36
|
(3) Измени загрузку, чтобы она умела читать и другие форматы
|
|||
8
Новый1сник2
05.09.21
✎
18:37
|
пользователей будет не сколько, обучать каждого не вариант
|
|||
9
VS-1976
05.09.21
✎
18:38
|
(6) Странно 1с-су ТабличныйДокумент, тем более com excel побарабану формат
|
|||
10
Новый1сник2
05.09.21
✎
18:38
|
(7) ну как бы есть уже рабочая версия, переписывать не то что нужно, если есть возможность просто сконвертировать в нужный формат.
|
|||
11
VS-1976
05.09.21
✎
18:39
|
(10) приведи кусок кода зашрузки
|
|||
12
Новый1сник2
05.09.21
✎
18:40
|
(9) ну у меня пишет ошибки на старый формат загружать не хочет, если есть вариант сконвертировать то будет норм., а переписывать не охота
|
|||
13
Новый1сник2
05.09.21
✎
18:40
|
(11) завтра только смогу скинуть код
|
|||
14
VS-1976
05.09.21
✎
18:42
|
(13) просто конвертация это. Загрузка в один каталог, потом перекидывание в другой ( что бы небыло проблем с попыткой одновременным доступом, открытием файла ). Проще код подправить, как мне кажется
|
|||
15
Новый1сник2
05.09.21
✎
18:44
|
(14) не факт, прочитать текущий файл и сохранить в другом формате, можно даже во временных файлах, должна быть какая то функция!?
|
|||
16
Новый1сник2
05.09.21
✎
18:45
|
код завтра скину
|
|||
17
VS-1976
05.09.21
✎
18:50
|
(15) просто представь сколько это ресурсов жрёт. Хотя если регламент не видит .xls то каталог в принципе может быть один. Но я бы пожалел компьютер и сотрудников )
|
|||
18
Новый1сник2
05.09.21
✎
18:55
|
(17) вот и я хочу их пожалеть, чтобы вручную не приходилось сохранять в нужном формате
|
|||
19
Новый1сник2
05.09.21
✎
18:56
|
по загрузке завтра скину то что есть
|
|||
20
МихаилМ
05.09.21
✎
18:57
|
||||
21
ДенисЧ
05.09.21
✎
19:00
|
(15) Есть функция. В екселе.
|
|||
22
acht
05.09.21
✎
19:33
|
(8) > пользователей будет не сколько
А. Ну то есть пользователей еще нет, а переписывать уже неохота. Осталось только перевести стрелки на фирму 1С и у нас будет новый гений. |
|||
23
Новый1сник2
06.09.21
✎
08:16
|
с расширением xls, тоже грузит нормально, проблема в другом пишет ошибку при открытии файла в самом эксел https://ibb.co/BrbrfJc , если файл сохранить в этом же формате то все норм грузит
|
|||
24
ДенисЧ
06.09.21
✎
08:16
|
(23) Откуда берутся эти файлы?
|
|||
25
Новый1сник2
06.09.21
✎
08:17
|
(24) поставщик скидывает
|
|||
26
Новый1сник2
06.09.21
✎
08:18
|
можно как то программно перезаписать?
|
|||
27
Новый1сник2
06.09.21
✎
08:18
|
&НаКлиенте
Процедура мЗагрузкаОстатков(Команда) Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "Выберите файл Excel"; Диалог.ПредварительныйПросмотр = Ложь; Диалог.Фильтр = "(*.xls,*.xlsx)|*.xls;*.xlsx;|Microsoft Excel 97/2000/XP/2003 (*.xls)|*.xls|Microsoft Excel 2007/2010 (*.xlsx)|*.xlsx"; Если ЗначениеЗаполнено(Объект.Файл) Тогда Диалог.ПолноеИмяФайла= Объект.Файл; КонецЕсли; Если Диалог.Выбрать() Тогда ВыбранныйФайл = Диалог.ПолноеИмяФайла; Объект.Файл = ВыбранныйФайл; ЧтениеExcel_через_ТД(ВыбранныйФайл); КонецЕсли; КонецПроцедуры |
|||
28
ДенисЧ
06.09.21
✎
08:19
|
(25) Тогда задай вопрос поставщику - почему у тебя эксель ругается на его файлы.
Сильно подозреваю, они там их делают в левой программе (не 1с и не ексель). У сторонних либ такая проблема приблизительно в 146% случаев. Пусть разбираются. |
|||
29
Новый1сник2
06.09.21
✎
08:24
|
(28) спрошу, только вряд ли поставщик будет что то у себя менять
|
|||
30
Смотрящий
06.09.21
✎
08:24
|
(23) Открой файл блокнотом, кинь картинку сюда, посмотрим что за файло такое приходит
|
|||
31
SleepyHead
гуру
06.09.21
✎
08:26
|
(28) наверное, из опенофиса в формате XML скидывают? Но он может и в XLSX, насколько я помню.
|
|||
32
Новый1сник2
06.09.21
✎
08:27
|
||||
33
ДенисЧ
06.09.21
✎
08:28
|
(32) Это xlsx, названный xls.
Переименовывай его при получении и всё будет коричнево. |
|||
34
Смотрящий
06.09.21
✎
08:28
|
(33) +1
|
|||
35
Новый1сник2
06.09.21
✎
08:29
|
(33) Ок, попробую
|
|||
36
Новый1сник2
06.09.21
✎
08:44
|
(33) как переименовать, делаю
ПереместитьФайл(ВыбранныйФайл, СтрЗаменить(ВыбранныйФайл,"xls", "xlsx")); как получить ссылку на файл? |
|||
37
ДенисЧ
06.09.21
✎
08:44
|
(36) Шта?
У тебя есть имя. До переименования и после. В чём вопрос-то? |
|||
38
Новый1сник2
06.09.21
✎
08:47
|
разобрался, спасибо
|
|||
39
Новый1сник2
06.09.21
✎
09:02
|
делаю так НовФайл = СтрЗаменить(ВыбранныйФайл,".xls", ".xlsx");
НовФайл получается с расширением ".xlsxx", откуда еще одна "x" берется ? |
|||
40
ДенисЧ
06.09.21
✎
09:03
|
(39) Позови того, у кого не лапки.
|
|||
41
acht
06.09.21
✎
09:07
|
(39) > откуда
Оттуда. У тебя ВыбранныйФайл уже содержит имя файла с расширением ".xlsx". |
|||
42
Новый1сник2
06.09.21
✎
09:08
|
(41) в отладчике xls
|
|||
43
acht
06.09.21
✎
09:08
|
(42) Поздравляю
|
|||
44
Новый1сник2
06.09.21
✎
09:09
|
да получилось переименовать, но ошибка осталась
.xlsx'. Формат файла не поддерживается. |
|||
45
acht
06.09.21
✎
09:10
|
Блокнотом посмотрти. Есть немаленький шанс, что там вообще html
|
|||
46
ДенисЧ
06.09.21
✎
09:10
|
(45) Мальчик, ты не тормоз... Ты стояночный якорь!
|
|||
47
Новый1сник2
06.09.21
✎
09:11
|
.xlsx, экселом то же не открывается
|
|||
48
acht
06.09.21
✎
09:12
|
(46) ... я не мальчик =)
|
|||
49
Новый1сник2
06.09.21
✎
09:12
|
просто .xls можно как то перезаписать?
|
|||
50
acht
06.09.21
✎
09:13
|
Переименуй в zip, посмотри что внутри
|
|||
51
Новый1сник2
06.09.21
✎
09:16
|
||||
52
Новый1сник2
06.09.21
✎
09:40
|
вот так еще пробовал
Эксель = Новый COMОбъект("Excel.Application"); КнигаЗагрузки = Эксель.WorkBooks.Open(ВыбранныйФайл); КнигаЗагрузки.SaveAs(ВыбранныйФайл); файл перезаписывается, а ошибка осталась |
|||
53
Sserj
06.09.21
✎
09:56
|
(52) Потому как иногда нужно и документацию почитывать
https://docs.microsoft.com/ru-ru/office/vba/api/excel.workbook.saveas Второй параметр FileFormat |
|||
54
nodrama
06.09.21
✎
10:13
|
(0) А в чем проблема. открыть его програмно в 1с. и там же сразу сохранить в то же место, его в новый формат. Старый там же можно удалить. Далее открыть заново и работать уже с файлом нового формата ?
|
|||
55
nodrama
06.09.21
✎
10:16
|
(8) А обработка загрузки работает только с xls видимо потому что в процедуре выбора файла стоит ".xlsx"? там если добавить то будет и старый видеть. Выбрал старый. открыл его. программно сохранил в новый. и его же еще раз открыл и работаешь.
|
|||
56
Новый1сник2
06.09.21
✎
10:18
|
(55) загрузка работает и с xls и с xlsx
|
|||
57
Новый1сник2
06.09.21
✎
10:20
|
благодарю за ответы, все получилось,
вот так работает Если Диалог.Выбрать() Тогда ВыбранныйФайл = Диалог.ПолноеИмяФайла; Эксель = Новый COMОбъект("Excel.Application"); КнигаЗагрузки = Эксель.WorkBooks.Open(ВыбранныйФайл); КнигаЗагрузки.SaveAs(ВыбранныйФайл, 56); Эксель.Quit(); Объект.Файл = ВыбранныйФайл; ЧтениеExcel_через_ТД(ВыбранныйФайл); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |