Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: txt to PHPEXCEL

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Каким образом можно вывести данные из файловой БД
dnbdrive
Отправлено: 26 Января, 2012 - 13:10:08
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




есть код, который выводит данные из файла:

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.         if (isset($_POST['link'])) {
  4.                 $file = $_POST['link'];
  5.                 if(is_file("$file")) {
  6.                         $flink = $file;
  7.                         function view($flink) {
  8.                                 if (filesize($flink) > 0) : $fh = fopen($flink, "r") or die("Couldn't open $flink");
  9.                                 while (! feof($fh)) :
  10.                                         $line = fgets($fh, 8192);
  11.                                         list($data, $contract, $type, $comments, $ip) = explode("<--column-->", $line);
  12.                                         echo<<<HTML
  13.                                                 $data
  14.                                                 $contract
  15.                                                 $type
  16.                                                 $comments
  17.                                                 $ip
  18. HTML;
  19.                                 endwhile;
  20.                                 endif;
  21.                                 fclose($fh);
  22.                         }
  23.                         @view($flink);
  24.                 }
  25.         }
  26.  
  27.  


и есть код, с помощью которого я хотел бы выводить все данные из файла в excel:


PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. /** Error reporting */
  4.  
  5. date_default_timezone_set('Europe/London');
  6.  
  7. /** PHPExcel */
  8. require_once '../Classes/PHPExcel.php';
  9.  
  10.  
  11. // Create new PHPExcel object
  12. $objPHPExcel = new PHPExcel();
  13.  
  14. // Set properties
  15. $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
  16.                                                          ->setLastModifiedBy("Maarten Balliauw")
  17.                                                          ->setTitle("Office 2007 XLSX Test Document")
  18.                                                          ->setSubject("Office 2007 XLSX Test Document")
  19.                                                          ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
  20.                                                          ->setKeywords("office 2007 openxml php")
  21.                                                          ->setCategory("Test result file");
  22.  
  23. // Перекодирую переменные в UTF-8
  24. $hdata = iconv("WINDOWS-1251", "UTF-8", "Дата:");
  25. $hcontract = iconv("WINDOWS-1251", "UTF-8", "Договор:");
  26. $htype = iconv("WINDOWS-1251", "UTF-8", "тип:");
  27. $hcomments = iconv("WINDOWS-1251", "UTF-8", "Комментарий:");
  28. $hip = iconv("WINDOWS-1251", "UTF-8", "IP адрес отправителя:");
  29.  
  30. // Add some data
  31. $objPHPExcel->setActiveSheetIndex(0)
  32.             ->setCellValue('B2', $hdata)
  33.             ->setCellValue('C2', $hcontract)
  34.             ->setCellValue('D2', $htype)
  35.             ->setCellValue('E2', $hcomments)
  36.             ->setCellValue('F2', $hip);
  37.  
  38. //Data
  39. $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
  40. $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);
  41. $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(30);
  42. $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(50);
  43. $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20);
  44. $objPHPExcel->getActiveSheet()->getStyle('B2:F2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  45. $objPHPExcel->getActiveSheet()->getStyle('B2:F2')->getFont()->setBold(true);
  46. $objPHPExcel->getActiveSheet()->getStyle('B2:F2')->getFont()->setSize(10);
  47. $objPHPExcel->getActiveSheet()->getStyle('D2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  48. $objPHPExcel->getActiveSheet()->getStyle('E2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  49. $objPHPExcel->getActiveSheet()->getStyle('F2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);*/
  50.  
  51. // Вот примерно как я хотел бы выводить данные:
  52. $objPHPExcel->setActiveSheetIndex(0)
  53.             ->setCellValue('B3', $data)
  54.             ->setCellValue('C3', $contract)
  55.             ->setCellValue('D3', $type)
  56.             ->setCellValue('E3', $comments)
  57.             ->setCellValue('F3', $ip);
  58. $objPHPExcel->setActiveSheetIndex(0)
  59.             ->setCellValue('B4', $data)
  60.             ->setCellValue('C4', $contract)
  61.             ->setCellValue('D4', $type)
  62.             ->setCellValue('E4', $comments)
  63.             ->setCellValue('F4', $ip);
  64.             .       .        .
  65. $objPHPExcel->setActiveSheetIndex(0)
  66.             ->setCellValue('Bx', $data)
  67.             ->setCellValue('Cx', $contract)
  68.             ->setCellValue('Dx', $type)
  69.             ->setCellValue('Ex', $comments)
  70.             ->setCellValue('Fx', $ip);
  71.  
  72. // Rename sheet
  73. $objPHPExcel->getActiveSheet()->setTitle('Simple');
  74. // Set active sheet index to the first sheet, so Excel opens this as the first sheet
  75. $objPHPExcel->setActiveSheetIndex(0);
  76. // Redirect output to a client’s web browser (Excel5)
  77. header('Content-Type: application/vnd.ms-excel');
  78. header('Content-Disposition: attachment;filename="01simple.xls"');
  79. header('Cache-Control: max-age=0');
  80. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
  81. $objWriter->save('php://output');
  82.  



Интересует, собственно, пример, как это можно сделать.
В интернете натыкался на похожую реализацию, но только с использованием mysql. Но так как Mysql сервера тут нет (и пока не предвидится), мучаюсь с файлами.
В итоге завис уже на второй день ... Растерялся

(Отредактировано автором: 26 Января, 2012 - 13:11:29)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB