会导致数据格式的混乱
分类:热门新闻

营造网址时,平常会碰着检索数据列表的意况。平常客户期望下载那几个列表数据并蕴藏到顾客端。当然下载这一个数据的时候是急需稳固的格式,以便于用Excel等软件观望。说的简练一些正是CSV/Excel数据导出 。

//读取

注意事项:

<?php

输出文书档案的主导格式为:列1,列2,列3,,列nn

header("Content-Type:text/html;charset=utf-8");
include 'Classes/PHPExcel.php';
include 'Classes/PHPExcel/IOFactory.php';

格式化数据的同一时候要对极度的字符进行过滤。例如,借使不转换为全角,会促成数据格式的头晕目眩。

function readxls($file, $type) {
$xlsReader = PHPExcel_IOFactory::createReader($type);
威尼斯登录首页,$xlsReader->setReadDataOnly(true);
$xlsReader->setLoadSheetsOnly(true);
$sheets = $xlsReader->load($file);
$content = $sheets->getSheet(0卡塔尔国->toArray(卡塔尔国; //读取第三个专门的学问表(注意编号从0带头卡塔尔国借使读取多个能够做一个循环0,1,2,3....
//获得二维数组,每一个小数组是excel表格内容的一行 里面含有此行的每列的数目
return $content;
}

得以实现方式:

//$type = 'Excel2006'; //设置要深入分析的Excel类型 Excel5(2004或以下版本卡塔尔(قطر‎或Excel2005
$type = 'Excel5';
$content = readxls('data.xls', $type);
echo '<pre>';
var_dump($content);
echo '</pre>';

举例:检索数据库表,将结果保存为字符串,实行格式和特殊字符的过滤后,导出到顾客端的CSV文件。

 

OrderSearchEdit_saveCSV.php

//输出写入,数据多的话不得不用类一回次调用方法导出,不然会内部存款和储蓄器溢出

?phpinclude($_SERVER[''DOCUMENT_ROOT'']./ftcart/OrderInfoManager.class.php);include($_SERVER[''DOCUMENT_ROOT'']./ftcart/CommonUtil.php);include($_SERVER[''DOCUMENT_ROOT'']./ftcart/CommonConst.php);include($_SERVER[''DOCUMENT_ROOT'']./ftcart/CommonErrorMsg.php);include($_SERVER[''DOCUMENT_ROOT'']./webadmin.php);$searchcase=newOrderInfoManager();$nowTime=microtime_float();$searchcase=unserialize($_SESSION[ORDER_SEARCH_CASE]);$listcsv=$searchcase-doCSV();//调用doCSV()方法$filename=$nowTime;//$filename=str_replace(:,,$nowTime);//$filename=trim($filename);//echo$filename;header(Content-Disposition:attachment;filename=.$filename..csv);header(''Content-Type:APPLICATION/OCTET-STREAM'');echo注文No.,注文日,氏名,住所,支

<?php
header('Content-Type:text/html;charset=utf-8');
class excel
{
public function export()
{
//导出函数
function write_xls($data=array(), $title=array(), $filename='report'){
include 'PHPExcel_1.8.0_doc/Classes/PHPExcel.php';
include 'PHPExcel_1.8.0_doc/Classes/PHPExcel/IOFactory.php';
set_time_limit(0);
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$cols = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
//设置标题
for($i=0,$length=count($title); $i<$length; $i++) {
$objPHPExcel->getActiveSheet()->setCellValue($cols{$i}.'1', $title[$i]);
}
//设置标题样式(可按要求决定是还是不是需求卡塔尔国
// $titleCount = count($title);
// $r = $cols{0}.'1';
// $c = $cols{$titleCount}.'1';
// $objPHPExcel->getActiveSheet()->getStyle("$r:$c")->applyFromArray(
// array(
// 'font' => array(
// 'bold' => true
// ),
// 'alignment' => array(
// 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT,
// ),
// 'borders' => array(
// 'top' => array(
// 'style' => PHPExcel_Style_Border::BORDER_THIN
// )
// ),
// 'fill' => array(
// 'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR,
// 'rotation' => 90,
// 'startcolor' => array(
// 'argb' => 'FFA0A0A0'
// ),
// 'endcolor' => array(
// 'argb' => 'FFFFFFFF'
// )
// )
// )
// );

$i = 0;
foreach($data as $d卡塔尔 { //这里用foreach,扶助关联数组和数字索引数组
$j = 0;
foreach($d as $v卡塔尔(قطر‎ { //这里用foreach,帮衬关联数组和数字索引数组
$objPHPExcel->getActiveSheet()->setCellValue($cols{$j}.($i+2), $v);
$j++;
}
$i++;
}
// 生成2000excel格式的xls文件直接下载
/* header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$filename.'.xls"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');*/

// 生成二〇〇七excel格式的xls文件保留到钦点路径
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save($filename.'.xlsx');
}

//导出

$start_num=trim($_GET['start_num']);
$total_num=trim($_GET['total_num']);
mysql_connect('localhost','root','');
mysql_query('set names utf8');
mysql_query('use test');

$sql="select id,name,pid from shop order by id asc limit $start_num,$total_num";
$res=mysql_query($sql);
while($ret=mysql_fetch_assoc($res))
{
$arr[]=$ret;
}
$arr_type=array('商品id','名称','品牌id');
write_xls($arr,$arr_type,time());
}
}

//实例化调用
$obj=new excel();
$obj->export();

 

本文由威尼斯在线注册平台发布于热门新闻,转载请注明出处:会导致数据格式的混乱

上一篇:临时修改,使用帝国CMS的用户可以按下面方法更改为最新的接口网关地址 下一篇:没有了
猜你喜欢
热门排行
精彩图文