Давно используется Йоксель для сохранения и рассылки отчетов клиентов. Конфигурация древняя на 7.7. И вот встала проблема: старый .xls не открывается на айфонах.. Первый вариант: .xlsx. Второй, как я вижу, но ещё не обсуждал: конвертация в .pdf. Можете посоветовать какие-нибудь утилитки?
из йокселя сохранять в xls как временные файлы.
затем копировать лист1 из xls в новую книгу xlsx.
Из нюансов - надо настраивать параметры безопасности на версии офиса выше 2010, т.к. он блокирует xls при вставке в новую книгу.
//СписокЛистовКниги - это список временных файлов xls, каждый файл вставляется на отдельный лист
Функция глНоваяКнигаExcel(СписокЛистовКниги) Экспорт
Состояние("Создание новой книги EXCEL....");
Попытка
Excel = СоздатьОбъект("Excel.Application");
Исключение
Сообщить(ОписаниеОшибки(),"!");
Возврат 0;
КонецПопытки;
Excel.Visible = 1;
Попытка
Книга = Excel.Workbooks.Add();
Исключение
Excel = 0;
Сообщить(ОписаниеОшибки(), "!");
Возврат 0;
КонецПопытки;
Для Л = 1 По СписокЛистовКниги.РазмерСписка() Цикл
НазваниеЛиста = "";
ВремФайл = СписокЛистовКниги.ПолучитьЗначение(Л, НазваниеЛиста);
Попытка
ИсхКнига = Excel.Workbooks.Open(СокрЛП(ВремФайл));
Исключение
Сообщить(ОписаниеОшибки(), "!");
Сообщить("Ошибка открытия временного файла! Прервано!", "!");
Возврат 0;
КонецПопытки;
ВставляемыйЛист = ИсхКнига.Worksheets(1);
ВставляемыйЛист.Copy(Книга.Sheets(Л));
ИсхКнига.Close();
Книга.Sheets(Л).Name = НазваниеЛиста;
КонецЦикла;
Для Л = 1 По 3 Цикл //удалим 3 листа добавленных при создании книги
Попытка
Книга.Sheets(Книга.Sheets.Count).Delete();
Исключение КонецПопытки;
КонецЦикла;
Для К = 1 По СписокЛистовКниги.РазмерСписка() Цикл
Попытка
ФС.УдалитьФайл(СписокЛистовКниги.ПолучитьЗначение(К));
Исключение
Сообщить(ОписаниеОшибки(), "!");
КонецПопытки;
КонецЦикла;
Возврат Excel;
КонецФункции // глНоваяКнигаExcel
(6) можно выводить на печать в PDF. если есть Microsoft Office, более менее свежий, то такая функция имеется рандомно.
Т.е. не выгружать в эксель, а прямо из окна вывести в печать, а там указать место сохранения.
Так это опять же надо MS Office запустить. Он грузится будет полминуты... Сложно и громоздко, а надо преобразование сделать за 1-2 сек и отправить. Я помню была такаю утилитка, которая в список принтеров добавляла как раз запись в pdf, не уверен, что программно с ней можно будет работать. Желательно всё-таки в .xlsx сначал попробовать.
(11) Йоксель в xlsx не сохраняет, там добавочно юзается эксель-аппликейшн.
и второе: не все печатные формы адекватно сохраняются в пдф через йоксель, особенно те, которые настроены на ликвидацию висячих строк и прочие хитрости
Ну, да. Но, судя по посту (9), он у ТС на компе, с которого ему это надо делать - эксель имеется. Иначе, чего он "полминуты" грузить собрался?
В данном случае, ничего 30 секунд не грузится, сейчас проверил - накладная в xlsx примерно за 2-3 секунды сохранилась, вполне корректно, комп как-себе, не особо быстрый.
С pdf, не знаю, сложные формы не пробовал, простые выгружаются тоже без проблем. Но, тут, как я понял, задача все-таки в xlsx выгрузить, pdf рассматривалась как альтернатива...
в офисе есть excelcnv и она достаточно быстро ковертирует, но при повторном обращении выскакивает сообщение о некорректном запуске, поэтому чищу реестр..