phpexcel 读取含多个sheet的excel,将从数据库中检索出的数据分别写入该excel不同的sheet中 并导出该excel
2012-08-16 11:41
941 查看
下载phpexcel类库,解压将Class文件夹放入项目中。
<?php
header("Content-Type:text/html; charset=utf-8");
header("Cache-Control:no-cache");
require_once("/lib/phpmailer/class.phpmailer.php");
require_once("/lib/phpmailer/class.smtp.php");
require_once 'Classes/PHPExcel.php';
require_once 'Classes\PHPExcel\Reader\Excel5.php';
require_once 'Classes/PHPExcel/Writer/Excel2007.php';
require_once 'Classes/PHPExcel/Writer/Excel5.php';
include_once 'Classes/PHPExcel/IOFactory.php';
//连接数据库,自己填入连接内容,这里连接的是mysql
$dbuser="";
$dbpwd="";
$dbhost="";
$dbdatabase="";
$db=mysql_connect($dbhost,$dbuser,$dbpwd);
mysql_query("set names 'gbk'");//这就是指定数据库字符集,一般放在连接数据库后面就行了(非常重要)
mysql_select_db($dbdatabase,$db);
$i=0;
//读取已设置好的excel
$objPHPExcel = PHPExcel_IOFactory::load("excel_mode/dept.xls");//修改为自己的excel路径
//这里将数据写入第三个sheet中,每个sheet都设置值,则分别设置
$currentSheet1=$objPHPExcel->getSheet(2);
$mysql_net="select
n.id as '编号',
n.otherserial as '固定资产编号',
l.completename as '部门',
nt.name as '类型',
nm.name as '型号',
n.name as '名称',
m.name as '制造商',
n.comment as '批注',
u.realname as '用户',
u.firstname as '工号'
from glpi_networkequipments n
left join glpi_users u on u.id=n.users_id
left join glpi_locations l on n.locations_id=l.id
left join glpi_manufacturers m on n.manufacturers_id=m.id
left join glpi_networkequipmenttypes nt on n.networkequipmenttypes_id=nt.id
left join glpi_networkequipmentmodels nm on n.networkequipmentmodels_id=nm.id
where n.is_deleted=0 and n.locations_id='".$arr[5]."'
group by n.otherserial
";
$myresult_net=mysql_query($mysql_net,$db);
$i_net=0;
$j_net=1;
while($arr_net=mysql_fetch_array($myresult_net))
{
/*----------从数据库读取数据--------------------*/
$number_net=$j_net++;
$name_net=$arr_net[1];
$username_net=$arr_net[8];
$gonghao_net=$arr_net[9];
$deptment_net=$arr_net[2];
$leixing_net=$arr_net[3];
$xinghao_net=$arr_net[4];
$netname_net=$arr_net[5];
$make_net=$arr_net[6];
/*-----------转码-----------*/
$name_net=iconv("gbk","utf-8", $name_net);
$username_net=iconv("gbk","utf-8", $username_net);
$gonghao_net=iconv("gbk","utf-8", $gonghao_net);
$deptment_net=iconv("gbk","utf-8", $deptment_net);
$leixing_net=iconv("gbk","utf-8", $leixing_net);
$xinghao_net=iconv("gbk","utf-8", $xinghao_net);
$netname_net=iconv("gbk","utf-8", $netname_net);
$make_net=iconv("gbk","utf-8", $make_net);
$u1_net=$i_net+3;
/*----------写入内容-------------*/
$currentSheet1->getCell('a'.$u1_net)->setValue("$number_net");
$currentSheet1->getCell('b'.$u1_net)->setValue("$name_net");
$currentSheet1->getCell('c'.$u1_net)->setValue("$username_net $gonghao_net");
$currentSheet1->getCell('d'.$u1_net)->setValue("$deptment_net");
$currentSheet1->getCell('e'.$u1_net)->setValue("$leixing_net");
$currentSheet1->getCell('f'.$u1_net)->setValue("$xinghao_net");
$currentSheet1->getCell('g'.$u1_net)->setValue("$netname_net");
$currentSheet1->getCell('h'.$u1_net)->setValue("$make_net");
$i_net++;
}
//设置第一个sheet中A5的值为“hello world”
$currentSheet2=$objPHPExcel->getSheet(0);
$currentSheet2->getCell('A5')->setValue("hello world");
//写入到文件
$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
$outputFileName = "excel/dept.xls";//自行设置路径
$objWriter->save($outputFileName);
?>
<?php
header("Content-Type:text/html; charset=utf-8");
header("Cache-Control:no-cache");
require_once("/lib/phpmailer/class.phpmailer.php");
require_once("/lib/phpmailer/class.smtp.php");
require_once 'Classes/PHPExcel.php';
require_once 'Classes\PHPExcel\Reader\Excel5.php';
require_once 'Classes/PHPExcel/Writer/Excel2007.php';
require_once 'Classes/PHPExcel/Writer/Excel5.php';
include_once 'Classes/PHPExcel/IOFactory.php';
//连接数据库,自己填入连接内容,这里连接的是mysql
$dbuser="";
$dbpwd="";
$dbhost="";
$dbdatabase="";
$db=mysql_connect($dbhost,$dbuser,$dbpwd);
mysql_query("set names 'gbk'");//这就是指定数据库字符集,一般放在连接数据库后面就行了(非常重要)
mysql_select_db($dbdatabase,$db);
$i=0;
//读取已设置好的excel
$objPHPExcel = PHPExcel_IOFactory::load("excel_mode/dept.xls");//修改为自己的excel路径
//这里将数据写入第三个sheet中,每个sheet都设置值,则分别设置
$currentSheet1=$objPHPExcel->getSheet(2);
$mysql_net="select
n.id as '编号',
n.otherserial as '固定资产编号',
l.completename as '部门',
nt.name as '类型',
nm.name as '型号',
n.name as '名称',
m.name as '制造商',
n.comment as '批注',
u.realname as '用户',
u.firstname as '工号'
from glpi_networkequipments n
left join glpi_users u on u.id=n.users_id
left join glpi_locations l on n.locations_id=l.id
left join glpi_manufacturers m on n.manufacturers_id=m.id
left join glpi_networkequipmenttypes nt on n.networkequipmenttypes_id=nt.id
left join glpi_networkequipmentmodels nm on n.networkequipmentmodels_id=nm.id
where n.is_deleted=0 and n.locations_id='".$arr[5]."'
group by n.otherserial
";
$myresult_net=mysql_query($mysql_net,$db);
$i_net=0;
$j_net=1;
while($arr_net=mysql_fetch_array($myresult_net))
{
/*----------从数据库读取数据--------------------*/
$number_net=$j_net++;
$name_net=$arr_net[1];
$username_net=$arr_net[8];
$gonghao_net=$arr_net[9];
$deptment_net=$arr_net[2];
$leixing_net=$arr_net[3];
$xinghao_net=$arr_net[4];
$netname_net=$arr_net[5];
$make_net=$arr_net[6];
/*-----------转码-----------*/
$name_net=iconv("gbk","utf-8", $name_net);
$username_net=iconv("gbk","utf-8", $username_net);
$gonghao_net=iconv("gbk","utf-8", $gonghao_net);
$deptment_net=iconv("gbk","utf-8", $deptment_net);
$leixing_net=iconv("gbk","utf-8", $leixing_net);
$xinghao_net=iconv("gbk","utf-8", $xinghao_net);
$netname_net=iconv("gbk","utf-8", $netname_net);
$make_net=iconv("gbk","utf-8", $make_net);
$u1_net=$i_net+3;
/*----------写入内容-------------*/
$currentSheet1->getCell('a'.$u1_net)->setValue("$number_net");
$currentSheet1->getCell('b'.$u1_net)->setValue("$name_net");
$currentSheet1->getCell('c'.$u1_net)->setValue("$username_net $gonghao_net");
$currentSheet1->getCell('d'.$u1_net)->setValue("$deptment_net");
$currentSheet1->getCell('e'.$u1_net)->setValue("$leixing_net");
$currentSheet1->getCell('f'.$u1_net)->setValue("$xinghao_net");
$currentSheet1->getCell('g'.$u1_net)->setValue("$netname_net");
$currentSheet1->getCell('h'.$u1_net)->setValue("$make_net");
$i_net++;
}
//设置第一个sheet中A5的值为“hello world”
$currentSheet2=$objPHPExcel->getSheet(0);
$currentSheet2->getCell('A5')->setValue("hello world");
//写入到文件
$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
$outputFileName = "excel/dept.xls";//自行设置路径
$objWriter->save($outputFileName);
?>
相关文章推荐
- java实现从数据库读取数据写入excel,写入多个sheet,6万数据耗时100秒附近
- java 对excel操作 读取、写入、修改数据;导出数据库数据到excel
- php管理后台内容写入数据库,前台数据读取于数据库
- 使用Apache POI创建Excel,并从数据库中读取数据写入到Excel文件中
- 【利用Python进行数据分析——经验篇4】将多张DataFrame表写入到同一个Excel的不同sheet中
- 使用Apache POI创建Excel,并从数据库中读取数据写入到Excel文件中
- PHPEXCEL结合MYSQL+PHP实现数据库数据导出EXCEL实例
- 考试系统--导出Dataset的数据到Excel的不同sheet中
- PHP导出数据库数据至Excel
- poi+jdbc实现从数据库中导出表的数据字典结构(单个sheet和多个sheet供你选择),并且生成excel文档,作者:vipyhd
- java读取数据库数据并导出到EXCEL中
- ABAP中读取EXCEL中不同的SHEET数据
- ABAP中读取EXCEL中不同的SHEET数据
- java从Excel文件读取数据到数据库和从读取数据库数据写入Excel
- R第七问 从数据库取数分别导出到不同的excel(根据名称)
- PHP将操作数据库得到的数据生成Excel导出
- PHP读取EXCEL时写入数据乱码解决办法
- Jxls导出excel的若干方式总结(十一)-- 同一个sheet中显示来自不同数据表的对象记录
- C# 如何将 不同的数据(多个查询结果集 dataset)导出到一个excel的不同sheet中
- PHPexcel数据库导出数据实例