php 中mysql导出excel文件方法

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

 代码如下 复制代码
<?php
include('db/db.php');  //包含连库类
$db = new db();
$result = mysql_query('select * from market_sig into outfile "d:product3.xls";');
var_dump($result);
?>

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

下面方法更全面

下载PHPExcel:http://phpexcel.codeplex.com

先来看看代码,

 代码如下 复制代码

<?php

class Table_export extends CI_Controller {

function __construct()
{
parent::__construct();

// Here you should add some sort of user validation
// to prevent strangers from pulling your table data
}

function index($table_name)
{
$this->load->database();
$query = $this->db->query("select * from `$table_name` WHERE del= 1");
// $query = mb_convert_encoding("gb2312", "UTF-8", $query);
if(!$query)
return false;

// Starting the PHPExcel library
$this->load->library('PHPExcel');
$this->load->library('PHPExcel/IOFactory');

$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setTitle("export")->setDescription("none");

$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', iconv('gbk', 'utf-8', '中文Hello'))
->setCellValue('B2', 'world!')
->setCellValue('C1', 'Hello');
// Field names in the first row
$fields = $query->list_fields();
$col = 0;
foreach ($fields as $field)
{
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, 1, $field);
$col++;
}

// Fetching the table data
$row = 2;
foreach($query->result() as $data)
{
$col = 0;
foreach ($fields as $field)
{
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $data->$field);
$col++;
}

$row++;
}

$objPHPExcel->setActiveSheetIndex(0);

$objWriter = IOFactory::createWriter($objPHPExcel, 'Excel5');

//发送标题强制用户下载文件
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="Products_'.date('dMy').'.xls"');
header('Cache-Control: max-age=0');

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

}
?>

看看配置方法吧

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

-- applicationlibrariesPHPExcel.php

-- applicationlibrariesPHPExcel (文件夹)

2)修改applicationlibrariesPHPExcelIOFactory.php 文件

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

-- 将其构造函数改为public

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

时间: 2024-12-29 01:53:22

php 中mysql导出excel文件方法的相关文章

mysql导出excel文件的几种方法

mysql教程导出excel文件的几种方法 方法一 php教程用mysql的命令和shell select * into outfile './bestlovesky.xls' from bestlovesky where 1 order by id desc  limit 0, 50; 方法二 把bestlovesky.xls以文本方式打开,然后另存为,在编码选择ansi编码,保存 echo "select id,name from bestlovesky where 1 order by i

最简单的php导出excel文件方法

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   网上有很多php操作excel或其他文件的类库,也做的很完善.比如无比风骚的PHPExcel,官方网站:http://www.codeplex.com/PHPExcel ,pear的Spreadsheet_Excel_Writer类等.然而我们只是用到其中一部分功能,这就会让程序显的有些臃肿.在你调用这些类库的时候,不管你是多简单的操作,他都会消耗巨大的内存,这

mysql导出xls文件方法

在php中操作  代码如下 复制代码 <?php include('db/db.php');  //包含连库类 $db = new db(); $result = mysql_query('select * from market_sig into outfile "d:product3.xls";'); var_dump($result); ?> 在cmd方式下操作  代码如下 复制代码 mysql   -uroot   -p   -e   "select  

JavaWeb中导出excel文件的简单方法_java

在平时做系统项目时,经常会需要做导出功能,不论是导出excel,还是导出cvs文件.我下面的demo是在springmvc的框架下实现的. 1.JS中只需要用GET模式请求导出就可以了: $('#word-export-btn').parent().on('click',function(){ var promotionWord = JSON.stringify($('#mainForm').serializeObject()); location.href="${ctx}/promotionW

PHP导入导出Excel文件的方法

借助PHP-ExcelReader这个开源类,我们可以轻松地导入Excel文件数据,示例代码如下: PHP-ExcelReader下载地址:http://sourceforge.net/projects/phpexcelreader/ 例.导入Excel文件  代码如下 复制代码 <?php require_once 'Excel/reader.php'; $data = new Spreadsheet_Excel_Reader(); $data->setOutputEncoding('gbk

从SQL Server中导入/导出 Excel 的基本方法

excel|server 从SQL Server中导入/导出 Excel 的基本方法 /*===================  导入/导出 Excel 的基本方法 ===================*/ 从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句: /*===================================================================*/--如果接受数据导入的表已经存在insert into 表 select

Jsp中的table多表头导出excel文件具体实现

 这篇文章主要介绍了Jsp中的table多表头导出excel文件具体实现,有需要的朋友可以参考一下 首先引入两份JS:copyhtmltoexcel.js以及 tableToExcel.js    代码如下: /*   * 默认转换实现函数,如果需要其他功能,需自行扩展  * 参数:  *      tableID : HTML中Table对象id属性值  * 详细用法参见以下 TableToExcel 对象定义    */ function saveAsExcel(tableID){  var

Yii中使用PHPExcel导出Excel的方法_php实例

本文实例讲述了Yii中使用PHPExcel导出Excel的方法.分享给大家供大家参考.具体分析如下: 最近在研究PHP的Yii框架,很喜欢,碰到导出Excel的问题,研究了一下,就有了下面的方法. 1.首先在cofig/main.php中添加对PHPExcel的引用,我的方法是这样,代码如下: 复制代码 代码如下: // autoloading model and component classes     'import'=>array(         /*'application.modu

JSP导出Excel文件的方法_JSP编程

本文实例讲述了JSP导出Excel文件的方法.分享给大家供大家参考,具体如下: <%@page import="jxl.Workbook,com.ecc.emp.core.*,com.ecc.emp.data.*,com.ecc.emp.jdbc.ConnectionManager,jxl.format.VerticalAlignment,java.sql.*,jxl.write.*,jxl.format.UnderlineStyle,javax.sql.DataSource"%