分享给大家一个简单的数据导出excel类
<?php
/**
* 生成excel文件操作
*
* @author wesley wu
* @date 2013.12.9
*/
class Excel
{
private $limit = 10000;
public function download($data, $fileName)
{
$fileName = $this->_charset($fileName);
header("Content-Type: application/vnd.ms-excel; charset=gbk");
header("Content-Disposition: inline; filename=\"" . $fileName . ".xls\"");
echo "<?xml version=\"1.0\" encoding=\"gbk\"?>\n
<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\">";
echo "\n<Worksheet ss:Name=\"" . $fileName . "\">\n<Table>\n";
$guard = 0;
foreach($data as $v)
{
$guard++;
if($guard==$this->limit)
{
ob_flush();
flush();
$guard = 0;
}
echo $this->_addRow($this->_charset($v));
}
echo "</Table>\n</Worksheet>\n</Workbook>";
}
private function _addRow($row)
{
$cells = "";
foreach ($row as $k => $v)
{
$cells .= "<Cell><Data ss:Type=\"String\">" . $v . "</Data></Cell>\n";
}
return "<Row>\n" . $cells . "</Row>\n";
}
private function _charset($data)
{
if(!$data)
{
return false;
}
if(is_array($data))
{
foreach($data as $k=>$v)
{
$data[$k] = $this->_charset($v);
}
return $data;
}
return iconv('utf-8', 'gbk', $data);
}
}
//使用方法
$excel = new Excel();
$data = array(
array('姓名','标题','文章','价格','数据5','数据6','数据7'),
array('数据1','数据2','数据3','数据4','数据5','数据6','数据7'),
array('数据1','数据2','数据3','数据4','数据5','数据6','数据7'),
array('数据1','数据2','数据3','数据4','数据5','数据6','数据7'),
array('数据1','数据2','数据3','数据4','数据5','数据6','数据7'),
array('数据1','数据2','数据3','数据4','数据5','数据6','数据7')
);
$excel->download($data, '这是一个测试');
?>
分享给大家一个简单的数据导出excel类的更多相关文章
- Expression Blend4经验分享:制作一个简单的图片按钮样式
这次分享如何做一个简单的图片按钮经验 在我的个人Silverlight网页上,有个Iphone手机的效果,其中用到大量的图片按钮 http://raimon.6.gwidc.com/Iphone/de ...
- spring boot: @Entity @Repository一个简单的数据读存储读取
spring boot: @Entity @Repository一个简单的数据读存储读取 创建了一个实体类. 如何持久化呢?1.使用@Entity进行实体类的持久化操作,当JPA检测到我们的实体类当中 ...
- 【asp.net】将GridView数据导出Excel
概要: 中午睡了一会,醒来的时候看到老师叫我去办公室,需求是这样的,把excel表中的每个同学,判断图片目录中是否有对应的照片(图片的名字用的学号或身份证号码) 没有对应图片的学生记录,存入自己的数据 ...
- Java使用POI实现数据导出excel报表
Java使用POI实现数据导出excel报表 在上篇文章中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式.不仅 ...
- 百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里?
好多人在问:如何将百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里? 现在,很多人都在网络上找商家,联系业务. 百度地图里有很多的商家联系 ...
- 实现一个简单的http请求工具类
OC自带的http请求用起来不直观,asihttprequest库又太大了,依赖也多,下面实现一个简单的http请求工具类 四个文件源码大致如下,还有优化空间 MYHttpRequest.h(类定义, ...
- Qt5.9一个简单的多线程实例(类QThread)(第一种方法)
Qt开启多线程,主要用到类QThread.有两种方法,第一种用一个类继承QThread,然后重新改写虚函数run().当要开启新线程时,只需要实例该类,然后调用函数start(),就可以开启一条多线程 ...
- JavaScript 上万条数据 导出Excel文件(改装版)
最近项目要js实现将数据导出excel文件,网上很多插件实现~~那个开心呀,谁知道后面数据量达到上万条时出问题:浏览器不仅卡死,导出的excel文件一直提示网络失败.... debug调试发现var ...
- JavaScript 上万条数据 导出Excel文件 页面卡死
最近项目要js实现将数据导出excel文件,网上很多插件实现~~那个开心呀,谁知道后面数据量达到上万条时出问题:浏览器不仅卡死,导出的excel文件一直提示网络失败.... debug调试发现var ...
随机推荐
- js实现文本框或文本域在用户输入时(oninput)触发事件,操作元素
写在前面:给不同的文本框设定同样的效果,当文本框没有内容输入时,‘下一步’按钮不可用且透明度为0.5.当有内容输入时(并不是获得焦点时focus),‘下一步’按钮状态可用, 且透明度为1. <s ...
- 使用Stardict命令行版本sdcv
sdcv命令的常用选项如下: -l:列出安装的词典 -u:指定查词所用的词典 在我的电脑上列出的词典有: Dictionary's name Word count Merrian Webster 10 ...
- UGUI事件系统
UGUI系统 将UI可能触发的事件分为12个类型,即EventTriggerType枚举的12个值. PointerEnter-- PointerExit-- PointerDown-- Pointe ...
- RockMongo 安装
1. yum install php-pecl-http php 2. yum install httpd 3. yum install php-devel 4. pecl install mongo ...
- hdu1029
#include<iostream>#include<string.h>using namespace std;int main(){ int n,i; int t; int ...
- "The Application was unable to start correctly (0xc000007b). Click OK to close the application"
我有时将MFC编译成64位并运行,就会报这个错误. 后来查找原因,就在于系统中使用了错误的dll.比如这个程序要使用64位的dll,而你拷贝进去的是同名的32位dll.解决方法就是放置正确的dll. ...
- Linq——Count、Sum、Min、Max、Average
using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; us ...
- vue对比其他框架
对比其他框架 React React 和 Vue 有许多相似之处,它们都有: 使用 Virtual DOM 提供了响应式(Reactive)和组件化(Composable)的视图组件. 将注意力集中保 ...
- Linux下服务器环境的搭建和配置之一——Apache篇
最近一个多月(2016-06-20开始至今),一直在忙海外广告平台FAQ系统的开发,既要负责服务器环境的搭建,又要写前端,还要写后台和数据库,甚至还要考虑产品需求和设计.所以是一个很大的挑战,对自身也 ...
- 3.struts2访问Servlet API,并和mybaits实现全套增删改查
1.创建数据库脚本userinfo.sql prompt PL/SQL Developer import file prompt Created on 2016年5月19日 by pc set fee ...