php 生成excel文件
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-11 20:35:29 浏览: 评论:0
本文章收藏了三款php生成excel文件代码程序,第一款为比较全面的生成函数,后面二款很简单,但是不如第一款好,好了现在来看看生成excel的代码如下:
- class excel{
- var $header = "<?xml version="1.0" encoding="utf-8"?>
- <workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
- xmlns:x="urn:schemas-microsoft-com:office:excel"
- xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
- xmlns:html="http://www.w3.org/tr/rec-html40">";
- var $footer = "</workbook>";
- var $lines = array ();
- var $worksheet_title = "table1";
- function addrow ($array) {
- $cells = "";
- foreach ($array as $k => $v):
- // 加个字符串与数字的判断 避免生成的 excel 出现数字以字符串存储的警告
- if(is_numeric($v)) {
- // 防止首字母为 0 时生成 excel 后 0 丢失
- if(substr($v, 0, 1) == 0) {
- $cells .= "<cell><data ss:type="string">" . $v . "</data></cell> ";
- } else {
- $cells .= "<cell><data ss:type="number">" . $v . "</data></cell> ";
- }
- } else {
- $cells .= "<cell><data ss:type="string">" . $v . "</data></cell> ";
- }
- endforeach;
- // transform $cells content into one row
- $this->lines[] = "<row> " . $cells . "</row> ";
- }
- function addarray ($array) {
- // run through the array and add them into rows
- foreach ($array as $k => $v):
- $this->addrow ($v);
- endforeach;
- }
- function setworksheettitle ($title) {
- // strip out special chars first
- $title = preg_replace ("/[\|:|/|?|*|[|]]/", "", $title);
- // now cut it to the allowed length
- $title = substr ($title, 0, 31);
- // set title
- $this->worksheet_title = $title;
- }
- function generatexml ($filename) {
- header("content-type: application/vnd.ms-excel; charset=utf-8");
- header("content-disposition: inline; filename="" . $filename . ".xls"");
- echo stripslashes ($this->header);
- echo " <worksheet ss:name="" . $this->worksheet_title . ""> <table> ";
- echo "<column ss:index="1" ss:autofitwidth="0" ss:width="110"/> ";
- echo implode (" ", $this->lines);
- echo "</table> </worksheet> ";
- echo $this->footer;
- }
- }
- /**
- * 非框架使用方法
- *
- * require_once('excel.php');
- * $doc = array (
- * 0 => array ('中国', '中国人', '中国人民', '123456");
- * ); //开源代码phpfensi.com
- * $xls = new excel;
- * $xls->addarray ( $doc );
- * $xls->generatexml ("mytest");
- */
方法二:
其实在做真正的应用的时候,大家可以将数据从数据库中取出,然后按照每一列数据结束后加t,每一行数据结束后加n的方法echo出来,在php的开头用header("content-type:application/vnd.ms-excel");表示输出的是excel文件,用header("content-disposition:filename=test.xls");表示输出的文件名为text.xls,这样就ok了.代码如下:
- <?php
- header("content-type:application/vnd.ms-excel");
- header("content-disposition:filename=test.xls");
- echo "test1";
- echo "test2";
- echo "test1";
- echo "test2";
- echo "test1";
- echo "test2";
- echo "test1";
- echo "test2";
- echo "test1";
- echo "test2";
- echo "test1";
- echo "test2";
- ?>
方法三,代码如下:
- <?php
- header("content-type: application/octet-stream");
- header("accept-ranges: bytes");
- header("content-type:application/vnd.ms-excel");
- header("content-disposition:attachment;filename=export_excel_gshjsl.xls");
- $tx='表头';
- echo $tx." ";
- echo "编号"." ";
- echo "姓名"." ";
- echo " ";
- echo "="411481198507150666""." ";
- echo "="0123456""." ";
- //开源代码phpfensi.com
- echo " ";
- ?>
Tags: php 生成excel文件
- 上一篇:php 数据库连接的例子
- 下一篇:php mysq数据编辑更新实例
相关文章
- ·PHP 是什么?(2013-11-12)
- ·Php.ini文件位置在哪里 Php.ini文件找不到(2013-11-12)
- ·PHP 数据类型(2013-11-12)
- ·php 获取当前脚本的url(2013-11-12)
- ·php技术生成静态页面的实现(2013-11-13)
- ·缺陷月项目启动 披露PHP脚本语言漏洞(2013-11-13)
- ·在PHP中全面阻止SQL注入式攻击(2013-11-13)
- ·php生成随机密码的几种方法(2013-11-13)
- ·PHP中使用FCKeditor2.3.2配置(2013-11-13)
- ·如何使用PHP开发高效的WEB系统(2013-11-13)
- ·php:树形结构的算法(2013-11-13)
- ·php4和php5区别(2013-11-13)
- ·php数据库连接(2013-11-13)
- ·如何正确理解PHP的错误信息(2013-11-13)
- ·php页面漏洞分析及相关问题解决(2013-11-13)
- ·当在连接PHP时,抱怨一些数值没有定义参考?(2013-11-27)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)