Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2011
Помог: 0 раз(а)
|
есть код, который выводит данные из файла:
PHP:
скопировать код в буфер обмена
if (isset($_POST['link'])) { $file = $_POST['link']; $flink = $file; function view($flink) { if (filesize($flink) > 0 ) : $fh = fopen($flink, "r") or die("Couldn't open $flink"); $line = fgets($fh, 8192 ); list($data, $contract, $type, $comments, $ip) = explode("<--column-->", $line); echo<<<HTML $data $contract $type $comments $ip HTML; endwhile; endif; } @view($flink); } }
и есть код, с помощью которого я хотел бы выводить все данные из файла в excel:
PHP:
скопировать код в буфер обмена
/** Error reporting */ /** PHPExcel */ require_once '../Classes/PHPExcel.php'; // Create new PHPExcel object $objPHPExcel = new PHPExcel(); // Set properties $objPHPExcel->getProperties()->setCreator("Maarten Balliauw") ->setLastModifiedBy("Maarten Balliauw") ->setTitle("Office 2007 XLSX Test Document") ->setSubject("Office 2007 XLSX Test Document") ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") ->setKeywords("office 2007 openxml php") ->setCategory("Test result file"); // Перекодирую переменные в UTF-8 $hdata = iconv("WINDOWS-1251", "UTF-8", "Дата:"); $hcontract = iconv("WINDOWS-1251", "UTF-8", "Договор:"); $htype = iconv("WINDOWS-1251", "UTF-8", "тип:"); $hcomments = iconv("WINDOWS-1251", "UTF-8", "Комментарий:"); $hip = iconv("WINDOWS-1251", "UTF-8", "IP адрес отправителя:"); // Add some data $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('B2', $hdata) ->setCellValue('C2', $hcontract) ->setCellValue('D2', $htype) ->setCellValue('E2', $hcomments) ->setCellValue('F2', $hip); //Data $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(30); $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(50); $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20); $objPHPExcel->getActiveSheet()->getStyle('B2:F2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle('B2:F2')->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle('B2:F2')->getFont()->setSize(10); $objPHPExcel->getActiveSheet()->getStyle('D2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle('E2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle('F2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);*/ // Вот примерно как я хотел бы выводить данные: $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('B3', $data) ->setCellValue('C3', $contract) ->setCellValue('D3', $type) ->setCellValue('E3', $comments) ->setCellValue('F3', $ip); $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('B4', $data) ->setCellValue('C4', $contract) ->setCellValue('D4', $type) ->setCellValue('E4', $comments) ->setCellValue('F4', $ip); . . . $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('Bx', $data) ->setCellValue('Cx', $contract) ->setCellValue('Dx', $type) ->setCellValue('Ex', $comments) ->setCellValue('Fx', $ip); // Rename sheet $objPHPExcel->getActiveSheet()->setTitle('Simple'); // Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0); // Redirect output to a client’s web browser (Excel5) 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');
Интересует, собственно, пример, как это можно сделать.
В интернете натыкался на похожую реализацию, но только с использованием mysql. Но так как Mysql сервера тут нет (и пока не предвидится), мучаюсь с файлами.
В итоге завис уже на второй день ... (Отредактировано автором: 26 Января, 2012 - 13:11:29)
|