本文目录一览:
- 1、php怎么导出大量数据的Excel
- 2、如何用phpexcel导出格式表
- 3、PHP如何导出Excel文件
- 4、使用phpexcel导入excel表格数据到MYSQL,乱码怎么解决
- 5、用PHPExcel 怎么批量导入excel??求方法
- 6、PHPExcel 怎么设置图表的次坐标啊?
php怎么导出大量数据的Excel
php导出大量数据Excel的具体操作步骤如下:
1、使用phpstudy搭建一个测试平台,直接访问数据库。
2、下载的phpcms安装包拷贝到IIS目录,开通访问,即可搭建成功。
3、登录网站后台,系统权限,文件目录以及数据库等功能,进行管理。
4、在phpcms后台,扩展,数据库工具,数据库导出,程序池选择phpcmsv9,开始备份数据。
5、打开IIS网站目录,在D:\wwwroot\kmxy\wwwroot\caches\bakup\default文件夹,查看导出的数据库文件。
6、登录phpmyadmin,选择数据库导出,选择Excel格式,即可导出。
如何用phpexcel导出格式表
1.百度:phpexcel,结果如图所示,点击第一个结果;
2.进入官网后,找到右边的download按钮,下载,下载完成的是一个压缩文件,解压放到你的项目目录里,根据个人情况而定;
3.因为这里给大家做演示,所以建了一个测试文件,有点基础的都能明白是怎么回事,下面进入代码;
4.
//引入PHPExcel库文件(路径根据自己情况)
include './phpexcel/Classes/PHPExcel.php';
//创建对象
$excel = new PHPExcel();
//Excel表格式,这里简略写了8列
$letter = array('A','B','C','D','E','F','F','G');
//表头数组
$tableheader = array('学号','姓名','性别','年龄','班级');
//填充表头信息
for($i = 0;$i count($tableheader);$i++) {
$excel-getActiveSheet()-setCellValue("$letter[$i]1","$tableheader[$i]");
}
5.
//表格数组
$data = array(
array('1','小王','男','20','100'),
array('2','小李','男','20','101'),
array('3','小张','女','20','102'),
array('4','小赵','女','20','103')
);
//填充表格信息
for ($i = 2;$i = count($data) + 1;$i++) {
$j = 0;
foreach ($data[$i - 2] as $key=$value) {
$excel-getActiveSheet()-setCellValue("$letter[$j]$i","$value");
$j++;
}
}
PHP如何导出Excel文件
昨天项目里有个新需求,客户希望把一些数据能导出成为Excel表格,刚开始用PHP原生输入Excel表格,发现效果不是很理想,于是找到一个比较著名的库:PHPExcel。下面是一个简单的demo,分享给大家,希望可以帮到有同样需求的朋友。-phpexceltable
1.百度:phpexcel,结果如图所示,点击第一个结果;
PHP导出Excel,PHP输入Excel
2.进入官网后,找到右边的download按钮,下载,下载完成的是一个压缩文件,解压放到你的项目目录里,根据个人情况而定;
PHP导出Excel,PHP输入Excel
PHP导出Excel,PHP输入Excel
3.因为这里给大家做演示,所以建了一个测试文件,有点基础的都能明白是怎么回事,下面进入代码;
PHP导出Excel,PHP输入Excel
4.
//引入PHPExcel库文件(路径根据自己情况)
include './phpexcel/Classes/PHPExcel.php';
//创建对象
$excel = new PHPExcel();
//Excel表格式,这里简略写了8列
$letter = array('A','B','C','D','E','F','F','G');
//表头数组
$tableheader = array('学号','姓名','性别','年龄','班级');
//填充表头信息
for($i = 0;$i count($tableheader);$i++) {
$excel-getActiveSheet()-setCellValue("$letter[$i]1","$tableheader[$i]");
}
PHP导出Excel,PHP输入Excel
5.
//表格数组
$data = array(
array('1','小王','男','20','100'),
array('2','小李','男','20','101'),
array('3','小张','女','20','102'),
array('4','小赵','女','20','103')
);
//填充表格信息
for ($i = 2;$i = count($data) + 1;$i++) {
$j = 0;
foreach ($data[$i - 2] as $key=$value) {
$excel-getActiveSheet()-setCellValue("$letter[$j]$i","$value");
$j++;
}
}
PHP导出Excel,PHP输入Excel
6.
//创建Excel输入对象
$write = new PHPExcel_Writer_Excel5($excel);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename="testdata.xls"');
header("Content-Transfer-Encoding:binary");
$write-save('php://output');
PHP导出Excel,PHP输入Excel
7.打开页面,刷新的时候会弹出对话框,让你选择文件保存路径和文件名称,我直接放在了桌面上,如图所示;
PHP导出Excel,PHP输入Excel
PHP导出Excel,PHP输入Excel
8.打开表格后,数据和格式跟代码中的一致,说明PHP导出的Excel是正确的。如果出现错误,检查一下你的表格数组和数据数组吧。
PHP导出Excel,PHP输入Excel
使用phpexcel导入excel表格数据到MYSQL,乱码怎么解决
如果你要求的excle表格不是很复杂 .可以用html的table表格来实现.因为excle的兼容性可以打开xml文档.所以你可以使用html文件来当做excle文件.如果比较复杂 ,就要使用phpexcle了 -phpexceltable
这个是网页自动导出的基本思路
如果只是导出几个少数的表和内容
你可以使用phpmyadmin的导出功能.能够实现导出excle文档.
用PHPExcel 怎么批量导入excel??求方法
用PHPExcel,PHPExcel是相当强大的 MS Office Excel 文档生成类库。
你上它的官/网把程序包下/载下来,里面有 PHPExcel 的程序、还有30个实例程序和三个文档。
看一下其中的开发文档你就会用了。
读取(这段在开发文档里有的,在13页):
require_once '../Classes/PHPExcel/IOFactory.php';
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader-setReadDataOnly(true);
$objPHPExcel = $objReader-load("test.xlsx");
$objWorksheet = $objPHPExcel-getActiveSheet();
echo 'table' . "\n";
foreach ($objWorksheet-getRowIterator() as $row) {
echo 'tr' . "\n";
$cellIterator = $row-getCellIterator();
$cellIterator-setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
echo 'td' . $cell-getValue() . '/td' . "\n";
}
echo '/tr' . "\n";
}
echo '/table' . "\n";
?
PHPExcel 怎么设置图表的次坐标啊?
什么是次坐标? 坐标不是A2,B2这种吗?
?php
namespace system\models;
use PYP;
use lib\app\CModel;
use system\models\Seed;
use lib\db\Exception;
class Execl extends CModel{
/*
*将数组导出生成execl
*$head 表头,相当于字段名 数组
*$data 数据 数组
*/
function exportexecl($head,$data){
// 创建一个处理对象实例
$objExcel = new \lib\app\Report();
//计算数据条数
$leng = count($data);
$PHPExcel_Cell_DataType=PYP::getAttr('PHPExcel_Cell_DataType');
/*设置当前的sheet索引,用于后续的内容操作。
*一般只有在使用多个sheet的时候才需要显示调用。
*缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0
*/
if($leng5000){
$t = floor($leng/5000) + 1;
for($sheet = 0; $sheet = $t; $sheet++)
{
$objExcel-setActiveSheetIndex(0);
$objActSheet = $objExcel-getActiveSheet();
//设置当前活动sheet的名称
$objActSheet-setTitle('sheet'.$sheet);
//设置单元格内容
//由PHPExcel根据传入内容自动判断单元格内容类型
$objExcel-getActiveSheet()-getDefaultStyle()-getFont()-setName('Arial')-setSize(10);-phpexceltable
$i = 'a';
foreach($head as $title){
$objActSheet-setCellValue($i . '1',$title );
$i++;
}
$j = 2;
foreach ($data as $row){
$i = 'a';
foreach ($row as $cell){
$objActSheet-setCellValueExplicit($i . $j,(string)$cell,$PHPExcel_Cell_DataType::TYPE_STRING);-phpexceltable
$i++;
}
$j++;
}
}
}else{
$objExcel-setActiveSheetIndex(0);
$objActSheet = $objExcel-getActiveSheet();
//设置当前活动sheet的名称
$objActSheet-setTitle('sheet1');
//设置单元格内容
//由PHPExcel根据传入内容自动判断单元格内容类型
$objExcel-getActiveSheet()-getDefaultStyle()-getFont()-setName('Arial')-setSize(10);
$i = 'a';
foreach($head as $title){
$objActSheet-setCellValue($i . '1',$title );
$i++;
}
$j = 2;
foreach ($data as $row){
$i = 'a';
foreach ($row as $cell){
$objActSheet-setCellValueExplicit($i . $j,(string)$cell,$PHPExcel_Cell_DataType::TYPE_STRING);-phpexceltable
$i++;
}
$j++;
}
}
//输出内容
//$objWriter = new PHPExcel_Writer_Excel5($objExcel);
$objExcel-save();
$filename = $objExcel-getFile();
$file = "http://" . ROOT_URL . '/reports/'.$filename . '.xls';
return $file;
}
/*
*进行数据检查,查看execl中的数据是否合法
*将得到的execl中获得的数组插入到数据库临时表中,
*能插入在数据正确,不能再数据错误,并记录改行数据的数组编号
*return $data 原数组数据
* $data['result'] 数据验证结果
* $data['errormsg'] 数据有错误是,返回的数据错误行数
*/
function importexecl_check($fileadd,$tablename,$colums,$session_id){
//获取execl 文本信息,并转换成数组
$object=PYP::getAttr('PHPExcel_CachedObjectStorageFactory');
$cacheMethod = $object::cache_in_memory_gzip;
$cacheSettings = array();
$object=PYP::getAttr('PHPExcel_Settings');
$object::setCacheStorageMethod($cacheMethod,$cacheSettings);
$object=PYP::getAttr('PHPExcel_IOFactory');
$objPHPExcel = $object::load($fileadd);
$data = $objPHPExcel-getSheet(0)-toArray();
//初始化计数变量,当有错误的数据数量超过20条时,则停止继续插入数据,跳出返还结果
$count = 0;
//初始化数据检查结果,如果数据不符合规则,则返回flase
$result = true;
//初始化接受数据变量,最后将execl中的数据返还
$return = array();
//var_dump($data);die;
$lengc = count($colums);
$lengd = count($data[0]);
if($lengc != $lengd){
$return['result'] = false;
$return['errormsg'] = '您上传的execl不符合规格';
return $return;
}
//对表的字段进行处理
$leng = count($data);
$colums = implode(',',$colums);
$colums .= ' ,SessionID';
$tablename .= '_i';
//遍历数据,检查数据是否符合规格
for ($i =1 ;$i $leng;$i++){
$value = '';
foreach($data[$i] as $v){
$value .= "\"" . self::signReplace($v) . "\",";
}
$return['data'][] = $data[$i];
$value .= "'" . $session_id . "'";
$sql = "INSERT INTO $tablename ($colums) VALUES($value)" ;
try{
$result = self::queryEx($sql);
}catch (Exception $e){
$result = false;
}
if(!$result){
$result = false;
$errormsg[] = $i;
$count++;
if($count 20){
break;
}
continue;
}
}
//返回结果 @result ----数据是否有错误
// @errormsg -- 如果有错误,说明错误所在行数
$return['result'] = $result;
if(isset($errormsg)){
$return['errormsg'] = $errormsg;
}else{
$return['errormsg'] = null;
}
//清除本次操作数据库插入的临时表数据
$sql = "delete from " .$tablename. " where SessionID = " .$session_id ;
self::queryEx($sql);
return $return;
}
/*
* 获取execl中的数据
* @path exel路径
*/
public function getexecl($path){
$object=PYP::getAttr('PHPExcel_CachedObjectStorageFactory');
$cacheMethod = $object::cache_in_memory_gzip;
$cacheSettings = array();
$object=PYP::getAttr('PHPExcel_Settings');
$object::setCacheStorageMethod($cacheMethod,$cacheSettings);
$object=PYP::getAttr('PHPExcel_IOFactory');
$objPHPExcel = $object::load($path);
$data = $objPHPExcel-getSheet(0)-toArray();
$leng = count($data);
$data = array_slice($data,1,$leng-1);
return $data;
}
/*导入到数据库*/
public function importexcle($tablename,$colums,$key,$data,$dbkey){
//初始化返回结果
$result = array();
$result['result'] = true;
//查找逻辑key 所在的列
foreach ($colums as $k = $v){
if($v == $key){
$datakey = $k;
}
}
if(!isset($datakey)){
$result['result'] = false;
$result['errormsg'] = "表中字段没有业务key" ;
return $result;
}
$leng = count($data);
$columstr = implode(',',$colums);
$columstr .= ' ,' .$dbkey ;
//插入或者更新execl数据
foreach ($data as $k = $v){
if(empty($v[$datakey])){
$result['result'] = false;
$result['errormsg'][] = "业务编号不能为空或者不能为0" ;
break;
}
$sql = "SELECT " . $key . " from " . $tablename . " where " . $key . " = \"" . self::signReplace($v[$datakey]) . "\"";-phpexceltable
$count = self::query($sql);
if (empty($count)){
$str = '';
foreach($v as $cell){
if($cell === '' || $cell === null ){
$str .= 'null' . ',';
}else{
$str .= "\"" . self::signReplace((string)$cell) . "\",";
}
}
$seedid = Seed::GetSeedId($dbkey);
$str .= "'" . $seedid . "'";
$sql = "INSERT INTO " . $tablename ." (" . $columstr .") VALUES(" .$str .")" ;
try{
self::queryEx($sql);
}
catch(Exception $e)
{
$result['result'] = false;
$result['errormsg'][] = $k;
}
}
else{
$sql = "update " . $tablename ." set " ;
foreach ($v as $ck = $cv){
if($colums[$ck] === '' || $colums[$ck] === null){
$sql .= $colums[$ck] . ' = null ,';
}else{
$sql .= $colums[$ck] ." = \"" . self::signReplace((string)$cv) ."\", ";
}
}
$sql = substr($sql,0,-2);
$sql .= " where " . $colums[$datakey] . " = \"" . self::signReplace($v[$datakey]) . "\"";-phpexceltable
try{
self::queryEx($sql);
}
catch (Exception $e){
$result['result'] = false;
$result['errormsg'][] = $k;
}
}
}
return $result;
}
/*导入到数据库*/
public function excleinsert($tablename,$colums,$data,$dbkey){
//初始化返回结果
$result = array();
$result['result'] = true;
$leng = count($data);
$columstr = implode(',',$colums);
$columstr .= ' ,' .$dbkey ;
$lengc = count($colums);
$lengd = count($data[0]);
if($lengc != $lengd){
$return['result'] = false;
$return['errormsg'] = '您上传的execl不符合规格';
return $return;
}
//插入execl数据
foreach ($data as $k = $v){
$str = '';
foreach($v as $cell){
$str .= "\"" . self::signReplace((string)$cell) . "\",";
}
$seedid = Seed::GetSeedId($dbkey);
$result['dbkey'][] = $seedid;
$str .= "'" . $seedid . "'";
$sql = "INSERT INTO " . $tablename ." (" . $columstr .") VALUES(" .$str .")" ;
try{
self::queryEx($sql);
}
catch(Exception $e)
{
$result['result'] = false;
$result['errormsg'][] = $k;
}
}
return $result;
}
}