用PHP生成excel文件到指定目录
2015-06-22 00:00
621 查看
最近公司要生成报表,用PHP生成。
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");
我百度了下,貌似这个很快能够实现,但是这个文件却是生成在在浏览器下载的地方,
我想把生成的文件生成到指定的目录,这样能否实现呢?
还有,可以往里面插入图片吗?
PHPExcel是英文的,看了半天没看懂。有没有直接生成的例子看啊?
下面我们附上例子:
/** +---------------------------------------------------------- * 导入所需的类库 同java的Import * 本函数有缓存功能 +---------------------------------------------------------- * @param string $class 类库命名空间字符串 * @param string $baseUrl 起始路径 * @param string $ext 导入的文件扩展名 +---------------------------------------------------------- * @return boolen +---------------------------------------------------------- */ function import($class, $baseUrl = '', $ext='.class.php') { static $_file = array(); $class = str_replace(array('.', '#'), array('/', '.'), $class); if ('' === $baseUrl && false === strpos($class, '/')) { // 检查别名导入 return alias_import($class); } if (isset($_file[$class . $baseUrl])) return true; else $_file[$class . $baseUrl] = true; $class_strut = explode('/', $class); if (empty($baseUrl)) { if ('@' == $class_strut[0] || APP_NAME == $class_strut[0]) { //加载当前项目应用类库 $baseUrl = dirname(LIB_PATH); $class = substr_replace($class, basename(LIB_PATH).'/', 0, strlen($class_strut[0]) + 1); }elseif ('think' == strtolower($class_strut[0])){ // think 官方基类库 $baseUrl = CORE_PATH; $class = substr($class,6); }elseif (in_array(strtolower($class_strut[0]), array('org', 'com'))) { // org 第三方公共类库 com 企业公共类库 $baseUrl = LIBRARY_PATH; }else { // 加载其他项目应用类库 $class = substr_replace($class, '', 0, strlen($class_strut[0]) + 1); $baseUrl = APP_PATH . '../' . $class_strut[0] . '/'.basename(LIB_PATH).'/'; } } if (substr($baseUrl, -1) != '/') $baseUrl .= '/'; $classfile = $baseUrl . $class . $ext; if (!class_exists(basename($class),false)) { // 如果类不存在 则导入类库文件 return require_cache($classfile); } } /** * 导出EXCEL表格 * @param array $data 数据,二维数组,每条数据一条记录 * @param array $title 每列数据的字段名,一唯数组,必须和数据顺序一致(可省略) * @param string $filename excel名称 * @param array $field 需要指定导出的数据字段,排序必须和title一致,就是和查出数据的数组key值 */ function exportExcel($data='',$title='',$filename='excel',$field=array()){ if(!$data || !is_array($data)) return false; if($filename=='') $filename='excel'; if($field && is_array($field)){//只要导出指定字段,且按这个顺序导出 $dateNew=array(); foreach ($data as $k=>$v){ foreach ($field as $fkey){ $dateNew[$k][$fkey]=$v[$fkey]; } } $data=$dateNew; } import("@.ORG.Util.ExcelXml");//调用导出excel类 $xls = new ExcelXml('UTF-8', false, 'Sheet1'); $xls->addArray($data,$title); $xls->generateXML($filename); }
相关文章推荐
- php生成PDF格式文件并且加密
- PHP获取音频文件的相关信息
- php发送邮件的问题详解
- php中 ob_start等函数截取标准输出的方法
- php学习心历(2)-中文分词
- cmd下运行php脚本 不支持curl库的问题
- php字符串处理总结
- PHP爬虫(2)DOM处理
- ContentProvider简要
- Win7中IIS配置php5.6环境
- PHP钩子是什么?
- 利用iptables开放被动模式下的FTP服务
- PHP打印指定日期
- php定时自动执行 需启动第一次
- 使用yii2实现读写分离(MySQL主从数据库)
- PHP多个进程同时写入同一个文件
- PHP实现同一个帐号不允许多人同时重复登陆
- php获取当前是星期几
- 第五天 ThinkPHP手把手快速拼接网站(五)
- wamp的php.ini配置