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教程...相关推荐

  1. java流式上传下载_精讲RestTemplate第6篇-文件上传下载与大文件流式下载

    C++Templates(第2版英文版) 123.24元 (需用券) 去购买 > 本文是精讲RestTemplate第6篇,前篇的blog访问地址如下: 精讲RestTemplate第1篇-在S ...

  2. 创建文件、文件上传下载、发送邮件附件以及文件点击预览功能(超详细注解)

    根据模板生成文件 @Overridepublic File exportStuFileExcelNew(Studengt student, Page<StuFile> page)throw ...

  3. php excel 组件,Yii Framework框架使用PHPExcel组件的方法示例

    本文实例讲述了Yii Framework框架使用PHPExcel组件的方法.分享给大家供大家参考,具体如下: PHPExcel下载地址http://www.yiiframework.com/exten ...

  4. php导入excel源码,利用PHPExcel类库,实现PHP导出导入Excel表格Excel文件!

    [温馨提示]源码包解压密码:www.youhutong.com 利用PHPExcel类库,实现PHP导出导入Excel文件!(案例教程源码) 需要注意的地方就是: 1.导出文件时,如果你的字段过多,可 ...

  5. php单元格字体颜色,PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽...

    PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽 2020-08-31 85 一:读取excel表模板$ph ...

  6. php循环读取excel每个单元格,php使用PHPexcel类读取excel文件(循环读取每个单元格的数据)...

    error_reporting(E_ALL); date_default_timezone_set('Asia/ShangHai'); include_once('Classes/PHPExcel/I ...

  7. thinkphp3.2.3 excel导出,下载文件,包含图片

    关于导出后出错的问题 https://segmentfault.com/q/1010000005330214 https://blog.csdn.net/ohmygirl/article/detail ...

  8. (原创)datagrid数据导出到excel文件给客户端下载的几种方法

    方法一:导出到csv文件,存放在服务器端任一路径,然后给客户下载 优点: 1.可以进行身份认证后给客户下载,如果放到非web目录就没有对应的url,客户无法随时下载. 2.也是因为生成了文件,所以占用 ...

  9. java实现excel文件上传_java相关:SpringMVC下实现Excel文件上传下载

    java相关:SpringMVC下实现Excel文件上传下载 发布于 2020-6-21| 复制链接 摘记: 在实际应用中,经常会遇到上传Excel或者下载Excel的情况,比如导入数据.下载统计数据 ...

最新文章

  1. 用django将数据从数据库提出并分页展示
  2. Nginx 出現 500 Error 修復 (too many open file, connection)
  3. Android ListView侧滑item,仿QQ删除效果
  4. php开启curl和openssl
  5. 投资学习网课笔记(part3)--基金第三课
  6. 优雅的在终端中编写Python
  7. 怎么自动响应richTextBox超级链接单击click事件
  8. 1006 换个格式输出整数 (15)
  9. Latex 常用代码
  10. Spring 使用注解注入 学习(四)
  11. sql 获取当前系统时间
  12. java8新特性 lambda Stream map(函数式编程)
  13. 微积分学基本定理简介
  14. 超像素分割算法SLIC的matlab实现
  15. nginx跨域配置及压缩配置
  16. 为Ubuntu搭建的WordPress博客配置自己的域名
  17. runtime error
  18. 微信公众号封面一键生成器-续
  19. 分析项目-AQI分析与预测
  20. P30有ROOT吗,华为p30能root吗

热门文章

  1. 王超:奇虎360 MongoDB
  2. JDK源码(7)-Boolean
  3. python输出玫瑰花_如何用python画玫瑰花
  4. windows向linux工作站发送文件
  5. Android 应用开机自启和无需权限开启悬浮框
  6. Golang并发(五) - Select
  7. 松下年净利润预计降20% 或启动新一轮裁员
  8. CentOS配置ssh无密码登录
  9. !!!随机数生成!!
  10. 到底什么才是用户体验度