php excel下载和使用,PHP:使用PHPExcel完成电子表格文件的导出下载和导入操作_PHP教程...
view页面:
后台逻辑处理文件:
*/
$operation = $_GET['type'];
switch ( $operation ) {
case 'report':
//路径按自己项目实际路径修改,文件请到PHPExcel官网下载
include_once '../../plugin/PHPExcel/PHPExcel.php';
include_once '../../plugin/PHPExcel/PHPExcel/Writer/Excel2007.php';
//或者include 'PHPExcel/Writer/Excel5.php'; 用于输出.xls的
//创建一个excel
$objPHPExcel = new PHPExcel();
//保存excel—2007格式
$objWriter = new PHPExcel_Writer_Excel2007( $objPHPExcel );
//或者$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); 非2007格式
//
//设置excel的属性:
//创建人
$objPHPExcel->getProperties()->setCreator( "ZYB" );
//最后修改人
$objPHPExcel->getProperties()->setLastModifiedBy( "ZYB" );
//标题
$objPHPExcel->getProperties()->setTitle( "Office 2007 XLSX Test Document" );
//题目
$objPHPExcel->getProperties()->setSubject( "Office 2007 XLSX Test Document" );
//描述
$objPHPExcel->getProperties()->setDescription( "Test document for Office 2007 XLSX, generated using PHP classes." );
//关键字
$objPHPExcel->getProperties()->setKeywords( "office 2007 openxml php" );
//种类
$objPHPExcel->getProperties()->setCategory( "Test result file" );
//
//设置当前的sheet
$objPHPExcel->setActiveSheetIndex( 0 );
//设置sheet的name
$objPHPExcel->getActiveSheet()->setTitle( '导出表测试' );
//设置单元格的值
$subTitle = array( '账号', '姓名', '性别', '地址', '电话', '事由', '复读' );
$datas = array(
0 => array( 'ZhangSan', '张三', '男', '广东', '1232323443', '实得分', 1 ),
1 => array( 'ZhangSan2', '张三2', '男', '广东2', '13454444433', '实得分2', 2 ),
);
$colspan = range( 'A', 'G' );
$count = count( $subTitle );
// 标题输出
for ( $index = 0; $index < $count; $index++ ) {
$col = $colspan[$index];
$objPHPExcel->getActiveSheet()->setCellValue( $col . '1', $subTitle[$index] );
//设置font
$objPHPExcel->getActiveSheet()->getStyle( $col . '1' )->getFont()->setName( 'Candara' );
$objPHPExcel->getActiveSheet()->getStyle( $col . '1' )->getFont()->setSize( 15 );
$objPHPExcel->getActiveSheet()->getStyle( $col . '1' )->getFont()->setBold( true );
$objPHPExcel->getActiveSheet()->getStyle( $col . '1' )->getFont()->getColor()
->setARGB( PHPExcel_Style_Color::COLOR_WHITE );
//设置填充色彩
$objPHPExcel->getActiveSheet()->getStyle( $col . '1' )->getFill()
->setFillType( PHPExcel_Style_Fill::FILL_SOLID );
$objPHPExcel->getActiveSheet()->getStyle( $col . '1' )->getFill()->getStartColor()->setARGB( 'FF808080' );
// align 设置居中
$objPHPExcel->getActiveSheet()->getStyle( $col . '1' )->getAlignment()
->setHorizontal( PHPExcel_Style_Alignment::HORIZONTAL_CENTER );
if ( $subTitle[$index] == '电话' ) {
// 设置宽度
$objPHPExcel->getActiveSheet()->getColumnDimension( $col )->setWidth( 40 );
}
}
// 内容输出
foreach ( $datas as $key => $value ) {
$colNumber = $key + 2; //第二行开始才是内容
foreach ( $colspan as $colKey => $col ) {
$objPHPExcel->getActiveSheet()->setCellValue( $col . $colNumber, $value[$colKey] );
}
}
//
//在默认sheet后,创建一个worksheet
$objPHPExcel->createSheet();
$fileName = "xxx.xlsx";
$objWriter->save( $fileName );
download( $fileName, true );
break;
case 'import':
//路径按自己项目实际路径修改,文件请到PHPExcel官网下载
include_once '../../plugin/PHPExcel/PHPExcel.php';
include_once '../../plugin/PHPExcel/PHPExcel/IOFactory.php';
include_once '../../plugin/PHPExcel/PHPExcel/Reader/Excel5.php';
$fileName = $_FILES['inputExcel']['name'];
$fileTmpAddr = $_FILES['inputExcel']['tmp_name'];
//获取上传文件的扩展名
$extend = strrchr( $fileName, '.' );
//上传后的文件名
$fileDesAddr = '../../upload/' . date( "Y-m-d-H-i-s" ) . $extend; //上传后的文件名地址
$result = move_uploaded_file( $fileTmpAddr, $fileDesAddr );
if ( $result ) {
$readerType = ($extend == ".xlsx") ? "Excel2007" : "Excel5";
$objPHPExcel = PHPExcel_IOFactory::createReader( $readerType )->load( $fileDesAddr );
$sheet = $objPHPExcel->getSheet( 0 );
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
$colspan = range( 'A', $highestColumn );
$datas = array( );
//循环读取excel文件
for ( $j = 2; $j <= $highestRow; $j++ ) {
$array = array( );
foreach ( $colspan as $value ) {
$array[] = $objPHPExcel->getActiveSheet()->getCell( $value . $j )->getValue();
}
$datas[] = $array;
}
//读取完成,最后删除文件
unlink( $fileDesAddr );
}
echo '';
print_r( $datas );
exit;
break;
}
//==============================================================================================
function download( $fileName, $delDesFile = false, $isExit = true ) {
if ( file_exists( $fileName ) ) {
header( 'Content-Description: File Transfer' );
header( 'Content-Type: application/octet-stream' );
header( 'Content-Disposition: attachment;filename = ' . basename( $fileName ) );
header( 'Content-Transfer-Encoding: binary' );
header( 'Expires: 0' );
header( 'Cache-Control: must-revalidate, post-check = 0, pre-check = 0' );
header( 'Pragma: public' );
header( 'Content-Length: ' . filesize( $fileName ) );
ob_clean();
flush();
readfile( $fileName );
if ( $delDesFile ) {
unlink( $fileName );
}
if ( $isExit ) {
exit;
}
}
}
?>
*/
$operation = $_GET['type'];
switch ( $operation ) {
case 'report':
//路径按自己项目实际路径修改,文件请到PHPExcel官网下载
include_once '../../plugin/PHPExcel/PHPExcel.php';
include_once '../../plugin/PHPExcel/PHPExcel/Writer/Excel2007.php';
//或者include 'PHPExcel/Writer/Excel5.php'; 用于输出.xls的
//创建一个excel
$objPHPExcel = new PHPExcel();
//保存excel—2007格式
$objWriter = new PHPExcel_Writer_Excel2007( $objPHPExcel );
//或者$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); 非2007格式
//
//设置excel的属性:
//创建人
$objPHPExcel->getProperties()->setCreator( "ZYB" );
//最后修改人
$objPHPExcel->getProperties()->setLastModifiedBy( "ZYB" );
//标题
$objPHPExcel->getProperties()->setTitle( "Office 2007 XLSX Test Document" );
//题目
$objPHPExcel->getProperties()->setSubject( "Office 2007 XLSX Test Document" );
//描述
$objPHPExcel->getProperties()->setDescription( "Test document for Office 2007 XLSX, generated using PHP classes." );
//关键字
$objPHPExcel->getProperties()->setKeywords( "office 2007 openxml php" );
//种类
$objPHPExcel->getProperties()->setCategory( "Test result file" );
//
//设置当前的sheet
$objPHPExcel->setActiveSheetIndex( 0 );
//设置sheet的name
$objPHPExcel->getActiveSheet()->setTitle( '导出表测试' );
//设置单元格的值
$subTitle = array( '账号', '姓名', '性别', '地址', '电话', '事由', '复读' );
$datas = array(
0 => array( 'ZhangSan', '张三', '男', '广东', '1232323443', '实得分', 1 ),
1 => array( 'ZhangSan2', '张三2', '男', '广东2', '13454444433', '实得分2', 2 ),
);
$colspan = range( 'A', 'G' );
$count = count( $subTitle );
// 标题输出
for ( $index = 0; $index < $count; $index++ ) {
$col = $colspan[$index];
$objPHPExcel->getActiveSheet()->setCellValue( $col . '1', $subTitle[$index] );
//设置font
$objPHPExcel->getActiveSheet()->getStyle( $col . '1' )->getFont()->setName( 'Candara' );
$objPHPExcel->getActiveSheet()->getStyle( $col . '1' )->getFont()->setSize( 15 );
$objPHPExcel->getActiveSheet()->getStyle( $col . '1' )->getFont()->setBold( true );
$objPHPExcel->getActiveSheet()->getStyle( $col . '1' )->getFont()->getColor()
->setARGB( PHPExcel_Style_Color::COLOR_WHITE );
//设置填充色彩
$objPHPExcel->getActiveSheet()->getStyle( $col . '1' )->getFill()
->setFillType( PHPExcel_Style_Fill::FILL_SOLID );
$objPHPExcel->getActiveSheet()->getStyle( $col . '1' )->getFill()->getStartColor()->setARGB( 'FF808080' );
// align 设置居中
$objPHPExcel->getActiveSheet()->getStyle( $col . '1' )->getAlignment()
->setHorizontal( PHPExcel_Style_Alignment::HORIZONTAL_CENTER );
if ( $subTitle[$index] == '电话' ) {
// 设置宽度
$objPHPExcel->getActiveSheet()->getColumnDimension( $col )->setWidth( 40 );
}
}
// 内容输出
foreach ( $datas as $key => $value ) {
$colNumber = $key + 2; //第二行开始才是内容
foreach ( $colspan as $colKey => $col ) {
$objPHPExcel->getActiveSheet()->setCellValue( $col . $colNumber, $value[$colKey] );
}
}
//
//在默认sheet后,创建一个worksheet
$objPHPExcel->createSheet();
$fileName = "xxx.xlsx";
$objWriter->save( $fileName );
download( $fileName, true );
break;
case 'import':
//路径按自己项目实际路径修改,文件请到PHPExcel官网下载
include_once '../../plugin/PHPExcel/PHPExcel.php';
include_once '../../plugin/PHPExcel/PHPExcel/IOFactory.php';
include_once '../../plugin/PHPExcel/PHPExcel/Reader/Excel5.php';
$fileName = $_FILES['inputExcel']['name'];
$fileTmpAddr = $_FILES['inputExcel']['tmp_name'];
//获取上传文件的扩展名
$extend = strrchr( $fileName, '.' );
//上传后的文件名
$fileDesAddr = '../../upload/' . date( "Y-m-d-H-i-s" ) . $extend; //上传后的文件名地址
$result = move_uploaded_file( $fileTmpAddr, $fileDesAddr );
if ( $result ) {
$readerType = ($extend == ".xlsx") ? "Excel2007" : "Excel5";
$objPHPExcel = PHPExcel_IOFactory::createReader( $readerType )->load( $fileDesAddr );
$sheet = $objPHPExcel->getSheet( 0 );
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
$colspan = range( 'A', $highestColumn );
$datas = array( );
//循环读取excel文件
for ( $j = 2; $j <= $highestRow; $j++ ) {
$array = array( );
foreach ( $colspan as $value ) {
$array[] = $objPHPExcel->getActiveSheet()->getCell( $value . $j )->getValue();
}
$datas[] = $array;
}
//读取完成,最后删除文件
unlink( $fileDesAddr );
}
echo '';
print_r( $datas );
exit;
break;
}
//==============================================================================================
function download( $fileName, $delDesFile = false, $isExit = true ) {
if ( file_exists( $fileName ) ) {
header( 'Content-Description: File Transfer' );
header( 'Content-Type: application/octet-stream' );
header( 'Content-Disposition: attachment;filename = ' . basename( $fileName ) );
header( 'Content-Transfer-Encoding: binary' );
header( 'Expires: 0' );
header( 'Cache-Control: must-revalidate, post-check = 0, pre-check = 0' );
header( 'Pragma: public' );
header( 'Content-Length: ' . filesize( $fileName ) );
ob_clean();
flush();
readfile( $fileName );
if ( $delDesFile ) {
unlink( $fileName );
}
if ( $isExit ) {
exit;
}
}
}
?>
http://www.bkjia.com/PHPjc/477177.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/477177.htmlTechArticleview页面: html head meta http-equiv=Content-Type content=text/html; charset=utf-8 / script src=../../js/lib/jquery/jquery-1.7.2.min.js/script /head body div form action=../../s...
php excel下载和使用,PHP:使用PHPExcel完成电子表格文件的导出下载和导入操作_PHP教程...相关推荐
- java流式上传下载_精讲RestTemplate第6篇-文件上传下载与大文件流式下载
C++Templates(第2版英文版) 123.24元 (需用券) 去购买 > 本文是精讲RestTemplate第6篇,前篇的blog访问地址如下: 精讲RestTemplate第1篇-在S ...
- 创建文件、文件上传下载、发送邮件附件以及文件点击预览功能(超详细注解)
根据模板生成文件 @Overridepublic File exportStuFileExcelNew(Studengt student, Page<StuFile> page)throw ...
- php excel 组件,Yii Framework框架使用PHPExcel组件的方法示例
本文实例讲述了Yii Framework框架使用PHPExcel组件的方法.分享给大家供大家参考,具体如下: PHPExcel下载地址http://www.yiiframework.com/exten ...
- php导入excel源码,利用PHPExcel类库,实现PHP导出导入Excel表格Excel文件!
[温馨提示]源码包解压密码:www.youhutong.com 利用PHPExcel类库,实现PHP导出导入Excel文件!(案例教程源码) 需要注意的地方就是: 1.导出文件时,如果你的字段过多,可 ...
- php单元格字体颜色,PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽...
PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽 2020-08-31 85 一:读取excel表模板$ph ...
- php循环读取excel每个单元格,php使用PHPexcel类读取excel文件(循环读取每个单元格的数据)...
error_reporting(E_ALL); date_default_timezone_set('Asia/ShangHai'); include_once('Classes/PHPExcel/I ...
- thinkphp3.2.3 excel导出,下载文件,包含图片
关于导出后出错的问题 https://segmentfault.com/q/1010000005330214 https://blog.csdn.net/ohmygirl/article/detail ...
- (原创)datagrid数据导出到excel文件给客户端下载的几种方法
方法一:导出到csv文件,存放在服务器端任一路径,然后给客户下载 优点: 1.可以进行身份认证后给客户下载,如果放到非web目录就没有对应的url,客户无法随时下载. 2.也是因为生成了文件,所以占用 ...
- java实现excel文件上传_java相关:SpringMVC下实现Excel文件上传下载
java相关:SpringMVC下实现Excel文件上传下载 发布于 2020-6-21| 复制链接 摘记: 在实际应用中,经常会遇到上传Excel或者下载Excel的情况,比如导入数据.下载统计数据 ...
最新文章
- 用django将数据从数据库提出并分页展示
- Nginx 出現 500 Error 修復 (too many open file, connection)
- Android ListView侧滑item,仿QQ删除效果
- php开启curl和openssl
- 投资学习网课笔记(part3)--基金第三课
- 优雅的在终端中编写Python
- 怎么自动响应richTextBox超级链接单击click事件
- 1006 换个格式输出整数 (15)
- Latex 常用代码
- Spring 使用注解注入 学习(四)
- sql 获取当前系统时间
- java8新特性 lambda Stream map(函数式编程)
- 微积分学基本定理简介
- 超像素分割算法SLIC的matlab实现
- nginx跨域配置及压缩配置
- 为Ubuntu搭建的WordPress博客配置自己的域名
- runtime error
- 微信公众号封面一键生成器-续
- 分析项目-AQI分析与预测
- P30有ROOT吗,华为p30能root吗