Здравствуйте! Есть ли возможность выводить введенные данные в xls файл в бизнес-процессе? Допустим, после утверждения отпуска, будет выводится окошко, где можно будет сохранить файл или файл сразу будет открываться. Причем данные должны в файле отображаться в определенном виде (как заявление, например). Как понимаю самого такого действия нет в бизнес-процессах, поэтому пытаюсь как-то написать свой код в PHP-код. Пробовала прописать заголовки и потом в виде html выводить все это в файл
Код |
---|
$charset="UTF-8";
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
header('Content-Type: text/html; charset=UTF-8');
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
header ("Content-type: application/x-msexcel; charset=$charset");
header ("Content-Disposition: attachment; filename=\"rezultaty.xls\"" );
header ("Content-Description: PHP/INTERBASE Generated Data" );
?>
<ht ml>
<head>
<met a http-equiv="Content-Type" content="text/html; charset=<?=$charset;?>">
<title>rezultaty</title>
</head>
<body style='width:1200'>
<table><tr><td>jgidih</td></tr></table>
</body>
</html>
|
Пробовала выводить теги с помощью echo. Пробовала создать файл библиотекой phpexcel
Код |
---|
require_once $_SERVER["DOCUMENT_ROOT"]."/include/PHPExcel.php";
require_once $_SERVER["DOCUMENT_ROOT"]."/include/PHPExcel/Writer/Excel5.php";
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("Alessandro Minoccheri")
->setLastModifiedBy("Alessandro Minoccheri")
->setTitle("Office 2007 XLSX Test Document")
->setSubject("Office 2007 XLSX Test Document")
->setDescription("Generazione report inverter")
->setKeywords("office 2007 openxml php")
->setCategory("");
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Hello')
->setCellValue('B2', 'world!')
->setCellValue('C1', 'Hello')
->setCellValue('D2', 'world!');
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A4', 'Miscellaneous glyphs')
->setCellValue('A5', 'ihighdj');
$objPHPExcel->getActiveSheet()->setTitle('Simple');
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="01simple.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output'); |
Все равно без результата. В большинстве случае БП просто игнорирует этот код и идет к дальнейшим действиям.
Есть ли такая возможность, чтобы можно было во время выполнения процесса выводить определенные данные в файл? Может это нужно делать каким-то другим способом?