服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > php教程 >

php 中mysql导出excel文件方法

时间:2016-05-08 10:38来源: 作者: 点击:
我们用最简单的方法直接用php+mysql来实现了,代码如下: ?php include ( db/db.php ); //包含连库类 $db = new db(); $result =mysql_query( select*frommarket_sigintooutfiled:product3.xls; ); var_dump( $result ); ? 上面是我

我们用最简单的方法直接用php+mysql来实现了,代码如下:

  1. <?php 
  2. include('db/db.php');  //包含连库类 
  3. $db = new db(); 
  4. $result = mysql_query('select * from market_sig into outfile "d:product3.xls";'); 
  5. var_dump($result); 
  6. ?> 

上面是我们的原生php结合了mysql outfile文件导出方法,这种方法有个问题就是不能实现下载功能,只在生成在服务器上.

下面方法更全面:下载PHPExcel:http://phpexcel.codeplex.com

先来看看代码,代码如下:

  1. <?php 
  2.  
  3. class Table_export extends CI_Controller { 
  4.  
  5. function __construct() 
  6. parent::__construct(); 
  7.  
  8. // Here you should add some sort of user validation 
  9. // to prevent strangers from pulling your table data 
  10.  
  11. function index($table_name
  12. $this->load->database(); 
  13. $query = $this->db->query("select * from `$table_name` WHERE del= 1"); 
  14. // $query = mb_convert_encoding("gb2312", "UTF-8", $query); 
  15. if(!$query
  16. return false; 
  17.  
  18. // Starting the PHPExcel library 
  19. $this->load->library('PHPExcel'); 
  20. $this->load->library('PHPExcel/IOFactory'); 
  21.  
  22. $objPHPExcel = new PHPExcel(); 
  23. $objPHPExcel->getProperties()->setTitle("export")->setDescription("none"); 
  24.  
  25. $objPHPExcel->setActiveSheetIndex(0) 
  26. ->setCellValue('A1', iconv('gbk''utf-8''中文Hello')) 
  27. ->setCellValue('B2''world!'
  28. ->setCellValue('C1''Hello'); 
  29. // Field names in the first row 
  30. $fields = $query->list_fields(); 
  31. $col = 0; 
  32. foreach ($fields as $field
  33. $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, 1, $field); 
  34. $col++; 
  35.  
  36. // Fetching the table data 
  37. $row = 2; 
  38. foreach($query->result() as $data
  39. $col = 0; 
  40. foreach ($fields as $field
  41. $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col$row$data->$field); 
  42. $col++; 
  43.  
  44. $row++; 
  45.  
  46. $objPHPExcel->setActiveSheetIndex(0); 
  47.  
  48. $objWriter = IOFactory::createWriter($objPHPExcel'Excel5'); 
  49.  
  50. //发送标题强制用户下载文件 
  51. header('Content-Type: application/vnd.ms-excel'); 
  52. header('Content-Disposition: attachment;filename="Products_'.date('dMy').'.xls"'); 
  53. header('Cache-Control: max-age=0'); 
  54. //开源代码最模板zuimoban.com 
  55. $objWriter->save('php://output'); 
  56.  
  57. ?> 

看看配置方法吧.

1) 解压压缩包里的Classes文件夹中的内容到applicationlibraries目录下,目录结构如下:

-- applicationlibrariesPHPExcel.php

-- applicationlibrariesPHPExcel(文件夹)

2) 修改applicationlibrariesPHPExcelIOFactory.php 文件

-- 将其类名从PHPExcel_IOFactory改为IOFactory,遵从CI类命名规则.

-- 将其构造函数改为public.

还有很多方法像这种方法多喜欢用,因为phpexcel这个插件很实用,对excel表格操作方便.

(责任编辑:最模板)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容