Я пытался запланировать отчет в SAP BO CMC. Этот отчет был первоначально написан на Python и встроен в файл .exe. Это приложение .exe выполняется для сохранения отчета в файл .xlsx в локальной папке. Я хочу использовать удобные функции планирования в SAP BO CMC для отправки отчета в сообщениях электронной почты. Я попытался создать «локальную программу» в CMC и связал ее с файлом .exe, но вы можете легко представить себе проблему, с которой я сталкиваюсь - приложение ставит файл в папку как обычно, но CMC не сможет для захвата созданного файла Excel. Есть ли способ перезаписать программу Python немного, чтобы выход не был файлом в какой-либо папке, , но объектом, который CMC может получить в качестве прикрепления к электронным письмам? Я планировал отчеты Crystal в CMC, и это происходит естественно. Выход Кристалла можно отправить в виде вложения в электронную почту. Интересно, может ли подобное происходить для .exe и как? Пожалуйста, поделитесь своими мыслями. Большое спасибо!Как я могу положить файл Excel в виде вложения электронной почты в SAP CMC?
P.S. Не думайте, что можно переписать отчет в Crystal, хотя, поскольку данные нужно манипулировать на основе данных из разных источников данных. Вот здесь и помогает Python. И я надеюсь, что мне не нужно писать программу, чтобы покрывать материалы электронной почты и планировать ее в запланированных задачах Windows. Последний вариант ... Это было бы слишком неудобно для поддержания. Мы не получаем доступ к серверу легко.
Спасибо, Джо. Я предполагаю, что нужно использовать «print» в Python. Я попробовал «распечатать» и да, он отправил вывод в виде вложения. Единственный вопрос, который у меня есть, - прошу меня быть новичком в обработке Excel - что мне следует писать в строке для «печати», чтобы сделать его файлом Excel? Я напечатал текстовый файл ... – Ann
'print()' преобразует объект, который вы передаете в строку, вызывая 'str()'. Вы хотите вывести байты в стандартный вывод, а не в обычную строку, а двоичную строку ('b'''). Используйте 'sys.stdout.buffer.write (b'abc ')' для записи двоичных данных в выходной поток (см. [Docs] (https://docs.python.org/3.5/library/sys.html# sys.stdout), особенно примечание). –