联系电话:0755-27515592
最新动态:

PHP教程

你的位置: 首页>>智慧亿恩>>PHP教程

php 中mysql导出excel文件方法

点击数:15442015-07-16 15:26:42 来源: 外贸网站建设,深圳外贸网站建设,深圳网站建设,外贸商城网站制作-亿恩科技

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

看看配置方法吧.

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

-- applicationlibrariesPHPExcel.php

-- applicationlibrariesPHPExcel(文件夹)

2) 修改applicationlibrariesPHPExcelIOFactory.php 文件

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

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

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


【责任编辑:】(Top) 返回页面顶端
贴心
全国7×24小时客服热线
安全
病毒杀除率高于99%
稳定
网站可用性高于99.9%
实力
服务68家上市企业及集团公司
亿恩科技手机站
关注亿恩科技微信

亿恩科技—企业信息化一站式服务专家


Copyright © 2008- 深圳市亿恩科技有限公司版权所有 粤ICP备15056041号

联系我们 | 常见问题 | 在线留言 | 支付方式 | 软件开发 | 我的观点 | 资质荣誉 | 服务流程