1.PHPExcel

thinkphp PHPExcel放到这个目录下

/*** 导出excel表格*/
function exportExcel($data,$filename){$xlsTitle = iconv('utf-8', 'gb2312', $filename); //文件名称//$fileName = $filename . "-" . date('YmdHis'); //or $xlsTitle 文件名称可根据vendor("PHPExcel.PHPExcel");$objPHPExcel = new \PHPExcel();$objPHPExcel->setActiveSheetIndex(0);$dateExcel = $objPHPExcel->getActiveSheet();$dateExcel->getDefaultStyle()->getFont()->setName('微软雅黑');$dateExcel->getDefaultStyle()->getFont()->setSize(12);   //字体大小$dateExcel->getStyle('1')->getFont()->setBold(true);    //第一行是否加粗$dateExcel->getStyle('1')->getFont()->setSize(13);         //第一行字体大小$dateExcel->getStyle('1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//水平居中// 设置行高度$dateExcel->getDefaultRowDimension()->setRowHeight(20); //设置默认行高$dateExcel->getRowDimension('1')->setRowHeight(30);    //第一行行高$rows = count($data);for ($i = 0; $i < count($data); $i++) {$row = $i + 1;$key = ord("A");//A--65$key2 = ord("@");//@--64foreach ($data[$i] as $d) {if ($key > ord("Z")) {$key2 += 1;$key = ord("A");$col = chr($key2) . chr($key);//超过26个字母时才会启用} else {if ($key2 >= ord("A")) {$col = chr($key2) . chr($key);//超过26个字母时才会启用} else {$col = chr($key);}}$dateExcel->setCellValue($col . $row, $d);$key++;}}//边框样式$styleArray = array('borders' => array('allborders' => array(//'style' => PHPExcel_Style_Border::BORDER_THICK,//边框是粗的'style' => \PHPExcel_Style_Border::BORDER_THIN,//细边框'color' => array('argb' => '#000'),),),);$dateExcel->getStyle('A1:' . $col . $rows)->applyFromArray($styleArray);$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20);ob_end_clean(); //!!!!!!!清除缓冲区,避免乱码header('pragma:public');header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xls"');header("Content-Disposition:attachment;filename=$filename.xls");$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');$objWriter->save('php://output');
}

参数$data 传入的格式为:

$filename为文件名

2.\t

header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");
//输出内容如下: 
echo   "姓名"."\t"; 
echo   "生日"."\t[这有一个空格]"; 
echo   "学历"."\t"; 
echo   "\n"; 
echo   "张三"."\t"; 
echo   "1992-10-12"."\t"; 
echo   "本科"."\t"; 
?>

如果遇到xls打开中文乱码的问题,可以使用mb_convert_encoding("姓名", "gb2312", "UTF-8")这个方法,将UTF-8转为gb2312编码格式。注:这个根据自己的实际情况转码,我自己的是UTF-8输出到xls乱码

在使用\t输出excel的时候,因有时间格式显示不完全,固在时间一列上加了一个空格,输出时间显示,但列宽不够,不会设置,于是选择了第三种方式,可以添加style设置样式

3.table

header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");

$html= "";
foreach ($data as $value){$html=$html."<tr><td align='center'>".$value[0]."</td>"."<td align='center'>".$value[1]."</td>"."<td align='center' >".$value[2]." "."</td>"."<td align='center' style='vnd.ms-excel.numberformat:yyyy-mm-dd hh:mm'>".$value[3]."</td>"."<td align='center' style='vnd.ms-excel.numberformat:yyyy-mm-dd hh:mm'>".$value[4]."</td>"."<td align='center'>".$value[5]."</td>";
}
$html="<table border='1'>".$html."</table>";
echo $html;

如果出现乱码,则头信息更换为

header("Content-type: text/html; charset=utf-8");
header("Content-type:application/octet-stream");
header("Accept-Ranges:bytes");
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=$filename.xls");
header("Pragma: no-cache");
header("Expires: 0");

附:GridView导出Excel常见的5种文本格式

1) 文本:vnd.ms-excel.numberformat:@

2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd

3) 数字:vnd.ms-excel.numberformat:#,##0.00

4) 货币:vnd.ms-excel.numberformat:¥#,##0.00

5) 百分比:vnd.ms-excel.numberformat: #0.00%

php 导出excel的三种方法相关推荐

  1. (转).NET导出Excel的四种方法及评测

    .NET导出Excel的四种方法及评测 导出Excel是.NET的常见需求,开源社区.市场上,都提供了不少各式各样的Excel操作相关包.本文,我将使用NPOI.EPPlus.OpenXML.Aspo ...

  2. [转]asp.net导出数据到Excel的三种方法

    原文出处:asp.net导出数据到Excel的几种方法(1/3) .asp.net导出数据到Excel的几种方法(2/3).asp.net导出数据到Excel的几种方法(3/3) asp.net导出到 ...

  3. .net npoi xssfclientanchor设置图片缩放大小_.NET导出Excel的四种方法及评测

    前言 导出Excel是.NET的常见需求,开源社区.市场上,都提供了不少各式各样的Excel操作相关包.本文,我将使用NPOI.EPPlus.OpenXML.Aspose.Cells四个市面上常见的库 ...

  4. .NET导出Excel的四种方法及评测

    前言 导出Excel是.NET的常见需求,开源社区.市场上,都提供了不少各式各样的Excel操作相关包.本文,我将使用NPOI.EPPlus.OpenXML.Aspose.Cells四个市面上常见的库 ...

  5. Winform中通过NPOI导出Excel的三种方式(HSSFWorkbook,XSSFWorkbook,SXSSFWorkbook)附代码下载

    场景 HSSFworkbook,XSSFworkbook,SXSSFworkbook区别 HSSFWorkbook: 是操作Excel2003以前(包括2003)的版本,扩展名是.xls:导出exce ...

  6. flex前端+java后台实现Flex导出Excel的两种方法,

    Flex前端+Java后台,要将Flex界面中AdvancedDataGrid的数据导出成Excel文件.有2种方法: 1.直接在前台导出.      使用开源项目as3xls,下载个解决了中文乱码的 ...

  7. android手机照片导出来,华为手机相册怎么导出到电脑?华为手机相册批量导出电脑的三种方法...

    出去玩总会拍下很多很多的照片,但是我们一般发到朋友圈里面的照片很多少,而且照片都是经过千挑万选,美颜美颜在美颜的,但是还有很多照片存放在照片里面,删了吧,这是记忆,不删吧占用内存,有很多人,可能就会放 ...

  8. PDF如何转Excel?三种方法教你实现PDF转Excel,亲测实用又有效!

    有时候,我们需要将PDF表格数据导入到其他应用程序中,例如PPT.Word等.在这种情况下,将PDF表格数据转换成EXCEL格式可以更加方便地进行数据的导入和使用.PDF如何转Execl呢,分享三种有 ...

  9. C#导出EXCEL的几种方法

    using System; using System.Collections.Generic; using System.Text; using System.Data; using System.W ...

  10. oracle数据迁移过程中,把表中数据导出为txt文件的三种方法

    在数据迁过程中需求需要将oracle数据库数据导出程txt格式然后再导入db2库中,经查询实验汇总三种方法: 1.plsqldev 里面有一个选项可以把表以excel格式到时 2.使用spool sq ...

最新文章

  1. 学习C++的五十个建议(转
  2. Java面试题—内部类和静态内部类的区别
  3. 启动activity的标准的action常量及对应的字符串
  4. Wannafly挑战赛23 A 字符串
  5. 高德地图上线高考出行专项服务
  6. 使用Python编写一个聪明的尼姆游戏
  7. NSAT-3030 数字万用表自动计量系统
  8. 2019年大学计算机基础题库,大学计算机基础考试题库(含答案)
  9. java大小写金额转换_java将金额转化为大写金额
  10. 2022-2028年中国仿制药产业深度调研及投资前瞻分析报告
  11. java中强制退出jvm的代码
  12. python做出来的东西怎么让别人看_有趣的Python图片制作之如何用QQ好友头像拼接出里昂...
  13. “强者恒强”,零食江湖来到新赛点
  14. JMeter直连数据库报错Uncaught Exception java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z
  15. HTTPS网页打开缓慢或者打不开
  16. Incorrect number of arguments for FUNCTION XXX
  17. ASCII的最大值到底是127还是255
  18. 进化算法可以不再需要计算集群,开普敦大学的新方法用一块GPU也能刷新MNIST记录...
  19. 穷举法求经典数学问题(鸡和兔)
  20. Python之ocr识别图片并转为excel文件

热门文章

  1. Opencv图像二值化操作
  2. 安装GitHub安装步骤
  3. 《MATLAB智能算法30个案例》:第5章 基于遗传算法的LQR控制器优化设计
  4. matlab生成的图显示数据类型,matlab中数据类型及图像显示
  5. Oracle Instant Client安装与配置
  6. 小白能读懂的 《手把手教你学DSP(TMS320X281X)》第四章(3) 创建新工程
  7. 赵容弼(Cho Yong Pil) -《30周年纪念专辑》
  8. 如何编译CWM Recovery
  9. moodle php代码解读_Moodle插件开发笔记
  10. GridView中DataFormatString属性的取值