CI で PHPExcel を使用してデータを Excel にエクスポートする

WBOY
リリース: 2016-07-25 09:10:23
オリジナル
1135 人が閲覧しました
  1. class Table_export extends CI_Controller {

  2. function __construct()

  3. {
  4. parent::__construct();

  5. // ここで、ある種のユーザー検証を追加する必要があります

  6. // 見知らぬ人がテーブル データを取得するのを防ぐため
  7. }

  8. functionindex($table_name)

  9. {
  10. $this- >load->database();
  11. $query = $this->db->query("select * from `$table_name` WHERE del= 1");
  12. // $query = mb_convert_encoding("gb2312 ", "UTF-8", $query);
  13. if(!$query)
  14. return false;

  15. // PHPExcel ライブラリを開始します

  16. $this->load->library ('PHPExcel');
  17. $this->load->library('PHPExcel/IOFactory');

  18. $objPHPExcel = new PHPExcel();

  19. $objPHPExcel->getProperties ()->setTitle("export")->setDescription("none");

  20. $objPHPExcel->setActiveSheetIndex(0)

  21. ->setCellValue('A1', iconv('gbk', 'utf-8', '中文Hello'))
  22. ->setCellValue('B2', 'world!')
  23. ->setCellValue('C1', 'Hello');
  24. / / 最初の行のフィールド名
  25. $fields = $query->list_fields();
  26. $col = 0;
  27. foreach ($fields as $field)
  28. {
  29. $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow ($col, 1, $field);
  30. $col++;
  31. }

  32. // テーブルデータを取得します

  33. $row = 2;
  34. foreach($query->result() as $data)
  35. {
  36. $col = 0;
  37. foreach ($fields as $field)
  38. {
  39. $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $data->$field) ;
  40. $col++;
  41. }

  42. $row++;

  43. }

  44. $objPHPExcel->setActiveSheetIndex(0);

  45. < p>$objWriter = IOFactory::createWriter($objPHPExcel, 'Excel5');

  46. //発行标题强制用户ダウンロード文

  47. header('Content-Type: application/vnd.ms- Excel');
  48. header('Content-Disposition:attachment;filename="Products_'.date('dMy').'.xls"');
  49. header('Cache-Control: max-age=0');

  50. $objWriter->save('php://output');

  51. }
  52. }
  53. ?>

复制代网

追加データベース库表名がproductsで、http://www.yourwebsite.com/table_export/index/productsにアクセスすると、Excelファイルを出力できます。


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート