使用PHPExcel实现数据批量导出为excel表格

首先需要下载PHPExecel类文件,帮助文档可以参考PHPExcel中文帮助手册|PHPExcel使用方法

下面直接上例子,是我自己写的一个简单的批量导出数据为excel的例子

前台页面 比较简单,就是一个超链接,跳转到处理页面,超链接也可以跟一些参数(看需求)!

<a href="./Process1.php">导出excel表格</a>

后台Process.php页面

/**
* 批量导出数据
* @param $arr  从数据库查询出来,即要导出的数据
*        $name  excel表歌名
*/
function expExcel($arr,$name){

    require_once ‘PHPExcel.php‘;
    //实例化
    $objPHPExcel = new PHPExcel();
    /*右键属性所显示的信息*/
     $objPHPExcel->getProperties()->setCreator("zxf")       //作者
                           ->setLastModifiedBy("zxf")       //最后一次保存者
                           ->setTitle(‘数据EXCEL导出‘)      //标题
                           ->setSubject(‘数据EXCEL导出‘)    //主题
                           ->setDescription(‘导出数据‘)     //描述
                           ->setKeywords("excel")           //标记
                          ->setCategory("result file");     //类别

    //设置当前的表格
    $objPHPExcel->setActiveSheetIndex(0);
    // 设置表格第一行显示内容
    $objPHPExcel->getActiveSheet()
        ->setCellValue(‘A1‘, ‘业主姓名‘)
        ->setCellValue(‘B1‘, ‘密码‘)
        ->setCellValue(‘C1‘, ‘手机号码‘)
        ->setCellValue(‘D1‘, ‘地址‘)
        //设置第一行为红色字体
        ->getStyle(‘A1:D1‘)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED);

    $key = 1;
    /*以下就是对处理Excel里的数据,横着取数据*/
    foreach($arr as $v){

    //设置循环从第二行开始
    $key++;
     $objPHPExcel->getActiveSheet()

                 //Excel的第A列,name是你查出数组的键值字段,下面以此类推
                  ->setCellValue(‘A‘.$key, $v[‘name‘])
                  ->setCellValue(‘B‘.$key, $v[‘pwd‘])
                  ->setCellValue(‘C‘.$key, $v[‘phone‘])
                  ->setCellValue(‘D‘.$key, $v[‘address‘]);

    }
    //设置当前的表格
    $objPHPExcel->setActiveSheetIndex(0);
     header(‘Content-Type: application/vnd.ms-excel‘);  //文件类型
     header(‘Content-Disposition: attachment;filename="‘.$name.‘.xls"‘);    //文件名
     header(‘Cache-Control: max-age=0‘);
     header(‘Content-Type: text/html; charset=utf-8‘);  //编码
     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5‘);     //excel 2003
     $objWriter->save(‘php://output‘);
     exit;

}

/***********调用**********************/
header("Content-type:text/html;charset=utf-8");

//链接数据库
$link = @mysql_connect(‘localhost‘,‘root‘,‘‘) or die(‘连接数据库失败‘);
mysql_select_db(‘test‘,$link);
mysql_query(‘set names utf8‘);

//先获取数据
$sql = "select * from house";
$res = mysql_query($sql);
$arr = array();
//把$res=>$arr,把结果集内容转移到一个数组中
while ($row = mysql_fetch_assoc($res)){
    $arr[] = $row;
}

//excel表格名
$name = "用户表";

//调用
expExcel($arr,$name)

使用PHPExcel导出数据至此完毕,对于使用PHPExcel导入到数据库可以参看使用PHPExcel实现数据批量上传到数据库

时间: 2024-07-31 13:58:44

使用PHPExcel实现数据批量导出为excel表格的相关文章

Asp.net--GridView控件--(1)高亮显示当前所在行,(2)高亮显示单击行,(3)绑定数据库数据,(4)分页,(5)导出到excel表格,(6)首列插入序号

//本页代码中的DB类及方法在http://www.cnblogs.com/Deerjiadelu/p/7252769.html中能查询到 (1)Asp.net--GridView控件--高亮显示当前所在行 protected void gvquery_DataBound(object sender, GridViewRowEventArgs e) { //高亮显示光标所在行 if (e.Row.RowType == DataControlRowType.DataRow)//判断当前行是不是数据

.Net中DataGridview数据如何导出到excel表

首先,这个问题在网上有很多答案,也有很多解决的方法.其次,很多人写过类似的博客 .我的这篇博客,主要是写给那些刚刚接触或接触不久.NET并使用其做程序的人,更是写个自己,记录一下方法,方便以后使用. 在窗体中添加一个DataGridView控件,DatagridView获得数据: DataGridView1.DataSource = crList(泛型)或DataGridView1.DataSource=DataSet.Table(0).{注意:通过查询数据库,将查询到的数据放入crList或D

将GridView数据直接导出为EXCEL(保留样式),适用GV不分页的情况

Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8"); Response.Charset = ""; Response.ContentType = "application/vnd.ms-excel"; EnableViewState = false; System.IO.StringWriter tw = new System.IO.StringWriter()

.net中数据集合导出为Excel(支持泛型及显示字段顺序,可自定义显示列名)

摘要:咳咳~入园快两年,工作也快将近两年了,这才打算写自己在园中的第一篇文章,主要因为之前只是小白一个,肚子里没有什么墨水,现如今,也喝了些许墨水~当然墨水来源也是受益于广大程序猿们的技术分享,感谢,共同进步! 好了,废话不多说,直接切入今天要分享的主题. 主题:.net中数据集合导出为Excel 背景:如今越来越多的公司开始注重了大数据,公司开始通过数据来分析用户的行为习惯或者某些产品给公司带来的利害,总之这些数据都可以很好的帮助公司做的更好,了解自身的优缺点从而更好的为用户服务获取更大的利益

Java导出数据行写入到Excel表格:基于Apache POI

Java导出数据行写入到Excel表格:基于Apache POI import java.io.File; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class Excel

java连接MongoDB查询导出为excel表格

背景 因为项目需求.每一个星期须要统计每一个公众号7天的訪问数,月底就须要统计一个月的訪问数,40多个公众号.每次手动统计都须要花费1个小时,总之是一项无技术耗时耗神的手工活. 于是.想写个程序来统计.每次仅仅须要执行下代码,输入一些配置信息就导出为excel表格,直接复制完事,可是水平有限.就仅仅用java写了个. demo下载 下载地址:http://download.csdn.net/detail/musuny/8769499 程序说明 依赖外部jar包 fastjson-1.1.36.j

Python实现数据库一键导出为Excel表格

依赖 Python2711 xlwt MySQLdb 数据库相关 连接 获取字段信息 获取数据 Excel基础 workbook sheet 案例 封装 封装之后 测试结果 总结 数据库数据导出为excel表格,也可以说是一个很常用的功能了.毕竟不是任何人都懂数据库操作语句的. 下面先来看看完成的效果吧. 数据源 导出结果  依赖 由于是Python实现的,所以需要有Python环境的支持 Python2.7.11 我的Python环境是2.7.11.虽然你用的可能是3.5版本,但是思想是一致的

使用pentaho工具将数据库数据导入导出为Excel

写在前面:本篇博客讲述的是如何使用pentaho工具快速的将数据库数据导出为Excel文件,以及如何将Excel文件数据导入数据库. 补充:使用此工具并不需要任何一句代码并能快速便捷解决实际问题,此工具功能不仅仅局限这一点,其他功能后续更新. 工具下载:你可以根据你电脑的系统选择不同版本在pentaho官网进行下载: http://www.pentaho.com/download 需求一:将mysql一张表数据导出到Excel 第一步:添加数据库驱动包 注意:由于本例我要将mysql数据库数据导

salesforce 零基础学习(二十三)数据记录导出至excel(自定义报表导出)

我们都知道,报表有个功能为导出excel,但是有的时候客户需求往往标准的报表达不到,比如导出excel,其中本月修改的数据字段标红,如下图所示. 这就需要我们去写VF来实现此功能. 需求:将数据表记录导出成excel,其中excel内容需要本月修改的数据字段自动标红显示. 表:Goods__c,字段如下: 设计思路:如果导出excel并且需要跟踪每个字段的修改时间进行校验是否标红,则需要有一个表取跟踪这个表.有两种方式进行Track. 1.salesforce中提供了Track History功