php 导出


//导出//放在model层的类<?phpnamespace frontend\models;
use yii\base\model;/*** @copyright (c) 2014 aircheng* @file report.php* @brief 导出excel类库* @author dabao* @date 2014/11/28 22:09:43* @version 1.0.0* @update 4.6* @date 2016/9/15 23:30:28* @author nswe* @content 重构了写入方式和方法*/class Excal extends Model{   //文件名  private $fileName = ‘user‘;  //数据内容  private $_data    = ""//构造函数  public function __construct($fileName = ‘‘) {  $this->setFileName($fileName); }//设置要导出的文件名 public function setFileName($fileName){$this->fileName = $fileName;} /** * @brief 写入内容操作,每次存入一行 * @param $data array 一维数组 */ public function setTitle($data = array()) {array_walk($data,function(&$val,$key) {  $val = "<th style=‘text-align:center;color:#fff;font-size:12px;vnd.ms-excel.numberformat:@‘>".$val."</th>"; });$this->_data .= "<tr>".join($data)."</tr>";}/*** @brief 写入标题操作* @param $data array  数据*/public function setData($data = array()){ array_walk($data,function(&$val,$key) {$val = "<td style=‘text-align:center;font-size:12px;vnd.ms-excel.numberformat:@‘>".$val."</td>";});$this->_data .= "<tr>".join($data)."</tr>";} //开始下载public function toDownload($data = ‘‘){// Redirect output to a client’s web browser (Excel5) header(‘Content-Type: application/vnd.ms-excel‘); header(‘Content-Disposition: attachment;filename=‘.$this->fileName.‘_‘.date(‘Y-m-d‘).‘.xls‘); header(‘Cache-Control: max-age=0‘); // If you‘re serving to IE 9, then the following may be needed header(‘Cache-Control: max-age=1‘); // If you‘re serving to IE over SSL, then the following may be needed header (‘Expires: Mon, 26 Jul 1997 05:00:00 GMT‘); // Date in the past header (‘Last-Modified: ‘.gmdate(‘D, d M Y H:i:s‘).‘ GMT‘); // always modified header (‘Cache-Control: cache, must-revalidate‘); // HTTP/1.1 header (‘Pragma: public‘); // HTTP/1.0$result = $data ? $data : "<table border=‘1‘>".$this->_data."</table>"; echo <<< OEF<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><body>{$result}</body></html>OEF;}}

//把类放到model层之后 调用类开始导出//导出excel

  public function actionExcel()
  {        $sql="select * from shop";        $excel=Yii::$app->db->createCommand($sql)->queryAll();        //导出excel        $reportObj =new Excal(‘hotel‘);        $reportObj->setTitle(["ID","标题","简介","时间"]);        foreach($excel as $k=>$v)        {            $insertData=array($v[‘s_id‘],$v[‘title‘],$v[‘desc‘],$v[‘time‘]);            $reportObj->setData($insertData);        }        $reportObj->toDownload();    }
//导出word    public function actionWord()    {        $sql = "select * from shop";        $data = Yii::$app->db->createCommand($sql)->queryAll();        header("content-type:text/html;charset=utf-8");        header ( ‘Content-Disposition: attachment; filename="word.doc"‘ );        echo iconv("utf-8","gb2312","编号")."\t";        echo iconv("utf-8","gb2312","文章主题")."\t";        echo iconv("utf-8","gb2312","壁纸")."\t";        echo iconv("utf-8","gb2312","发表人")."\t";        echo iconv("utf-8","gb2312","时间")."\t";        echo iconv("utf-8","gb2312","文章内容")."\n";

foreach ($data as $key => $val)        {            echo iconv("utf-8","gb2312","$val[s_id]")."\t";            echo iconv("utf-8","gb2312","$val[title]")."\t";            echo iconv("utf-8","gb2312","$val[desc]")."\t";            echo iconv("utf-8","gb2312","$val[time]")."\n";        }

}//实时保存    public function actionKeep()    {

$data=Yii::$app->request->post();        //print_r($data);die;        $cookie=new \yii\web\cookie();        $cookie->name=‘goods‘;             //cookie的值        $cookie->expire=time()+3600;        //存活的时间        $cookie->value=$data;                //cookie的值        \Yii::$app->response->getCookies()->add($cookie);    }    //快速添加txt    public function actionKuai()    {        $txt = $_FILES[‘txt‘][‘tmp_name‘];        $str = file_get_contents("$txt");//将整个文件内容读入到一个字符串中        $str_encoding = mb_convert_encoding($str, ‘UTF-8‘, ‘UTF-8,GBK,GB2312,BIG5‘);//转换字符集(编码)        $arr = explode("\r\n", $str_encoding);//转换成数组    //去除值中的空格        foreach ($arr as &$row)        {            $row = trim($row);        }        unset($row);        $time = time();        //得到后的数组        $info = Yii::$app->db->createCommand()->insert(‘shop‘,            array(‘title‘ => $arr[0],‘desc‘ =>$arr[1],‘time‘ =>$time))->execute();        if ($info)        {            return $this->redirect(‘?r=shop/shop‘);

} else {            return $this->redirect(‘?r=shop/adds‘);        }

}
时间: 2024-08-08 14:10:33

php 导出的相关文章

通用导出excel(可控制内容)

实体类 package util; import java.sql.Timestamp; public class Book { private int bookId; private String name; private String author; private float price; private String isbn; private String pubName; private Timestamp date; public Book() { } public Book(i

C#中导出数据到Excel表格中

之前PM交给我一个自动化测试的Case,让我抓取页面上的数据到Excel表格中,刚好又接了一个之前人家做的系统, 刚好看到可以用NPOI导数据,就动手试试,成功导出. 由于鄙人比较菜,也比较懒, 怕自己忘记了,今天就总结一下,以防下次用可以参考. 1.要使用NPOI,首先需要在Project中Install NPOI的 Package. 右键点击Project------>Manage NuGet Packages---->Search NPOI----->点击搜索到的NPOI然后点击等

前端JS脚本将网页表格导出为Excel

话不多说,上代码! <!DOCTYPE> <html> <head> <title>Excel Test</title> </head> <body> <div style="width:100%;padding:40px;"> Excel Test </div> <table id="excel"> <tr> <td>Na

Excel导入导出例子

一键上传 在ssh中上传批量数据表格 1.必须同步提交form表单 2.Form表单编码方式:multipart/form-data 3.提交方式必须为post 4.上传文件对应input type="file" 为导入按钮添加一键上传效果: //为导入添加一键上传 $("#button-import").upload({ action : '../../area_batchImport.action', //在文件选中时,作出校验 onSelect : funct

使用Apache POI导出Excel小结--导出XLS格式文档

使用Apache POI导出Excel小结 关于使用Apache POI导出Excel我大概会分三篇文章去写 使用Apache POI导出Excel小结--导出XLS格式文档 使用Apache POI导出Excel小结--导出XLSX格式文档 使用Apache POI导出Excel--大数量导出 导出XLS格式文档 做企业应用项目难免会有数据导出到Excel的需求,最近在使用其,并对导出Excel封装成工具类开放出来供大家参考.关于Apache POI Excel基本的概念与操作我在这里就不啰嗦

.net 自己写的操作Excel 导入导出 类(以供大家参考和自己查阅)

由于现在网页很多都关系到Excel 的操作问题,其中数据的导入导出更是频繁,作为一个菜鸟,收集网上零散的知识,自己整合,写了一个Excel导入到GridView ,以及将GridView的数据导出到EXCEL的类方法,以供参考和方便自己以后查阅. 1 #region 引用部分 2 using System; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Web; 6 using System.Dat

使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复

这种操作百度一搜一大片,今天整理以前做的项目时自己备份了一下数据库,试着将数据进行导出备份和导入恢复了一下:下面是操作过程: 1 开启服务 2 配置监听 找到下面文件: 记事本打开 在导航器的下拉菜单中选择:将数据库添加到树, 然后点击确定 然后使用PL/SQL就可以登录了: 3 建立新表空间和新用户 使用system用户登录:执行如下sql语句建立表空间和新用户,以及给用户授权 建立表空间 Create tablespace myyyjc datafile 'D:\app\Administra

ADF Faces导出Excel文件【附样例工程】

本文提供一个基于ADF Face组件开发样例工程,工程的实现过程分为3个部分以应对Excel导出开发中常见的处理. 1.空模版文件下载:将Excel文件视为普通文件提供下载操作. 2.数据文件输出,将数据内容输出为Excel文件,目标文件尽在服务端内存中存在,这种方式需要对Excel文件的内容处理,需要引入响应的类库. 3.模版文件填充数据后下载,基于服务端的物理文件为模板,将业务数据填入约定位置后提供下载,在实现方面需要为工作簿对象指定源文件输入流,并完成后续内容处理. 实现的基本思路,由AD

displaytag的Excel导出实践

本文转自 http://lingceng.iteye.com/blog/1820081/ Displaytag官网有1.0, 1.1, 1.2等,注意找到对应的版本.源码和API可以在Maven库中找到.   常规的使用不是问题,这里说说关于Excel导出的问题,中文乱码,使用POI等.我使用的是Displaytag1.1. 基本导出功能   这种情况只需引入displaytag-1.1.jar.   设置column属性media="html"将不会导出,media="ex

oracle导出导入数据库

一.给空表分配空间: 这一步一定要做,否则空表不能导出. 首先连接你要导出的库,在该库上执行以下sql: select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows = 0 执行结果是一连串的sql语句,类似alter table tablename allocate extent;选择所有结果,复制,在库里统一执行一下. 我在网上看好多人要在后面加一句 where num_rows