问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php如何实现将一个页面以excel格式保存,需要的时候能在转化成页面形式显...

发布网友 发布时间:2022-04-23 19:55

我来回答

2个回答

热心网友 时间:2022-04-06 03:26

需要用到PHPExcel

保存为Excel:

<?php
header ( "content-type:text/html;charset=utf-8" );
/**
 * Error reporting
 */
error_reporting ( E_ALL );
/**
 * PHPExcel
 */
include_once './Classes/PHPExcel.php';
 
/**
 * PHPExcel_Writer_Excel2003用于创建xls文件
 */
include_once './Classes/PHPExcel/Writer/Excel5.php';
 
// Create new PHPExcel object
$objPHPExcel = new PHPExcel ();
 
// Set properties
$objPHPExcel->getProperties ()->setCreator ( "RT" );
$objPHPExcel->getProperties ()->setLastModifiedBy ( "RT" );
$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." );
 
// Add some data
$objPHPExcel->setActiveSheetIndex ( 0 );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'A1', 'Date' );
// 合并单元格:
$objPHPExcel->getActiveSheet ()->mergeCells ( 'B1:F1' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'B1', 'CSAT Score' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'G1', 'Grand Total' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'H1', 'CSAT' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'A2', '08/01/11' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'B2', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'C2', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'D2', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'E2', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'F2', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'G2', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'H2', '0%' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'A3', '08/01/11' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'B3', '武汉' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'C3', '湖北' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'D3', '洪湖' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'E3', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'F3', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'G3', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'H3', '0%' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'A4', '08/01/11' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'B4', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'C4', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'D4', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'E4', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'F4', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'G4', '0' );
$objPHPExcel->getActiveSheet ()->SetCellValue ( 'H4', '0%' );
 
// Rename sheet
// $objPHPExcel->getActiveSheet()->setTitle('Csat');
 
// Save Excel 2007 file
// $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$d = date ( 'Y-m-d' );
$objWriter = new PHPExcel_Writer_Excel5 ( $objPHPExcel );
$objWriter->save ( str_replace ( '.php', '.xls', __FILE__ ) );
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=" . $d . ".xls" );
header ( "Content-Transfer-Encoding:binary" );
$objWriter->save ( "php://output" );
?>


读取Excel内容:

<?php
header ( "Content-Type:text/html;charset=utf-8" );
require_once 'excel_reader2.php';
// 创建对象
$data = new Spreadsheet_Excel_Reader ();
// 设置文本输出编码
$data->setOutputEncoding ( 'UTF-8' );
// 读取Excel文件
$data->read ( "e.xls" );
// $data->sheets[0]['numRows']为Excel行数
for($i = 1; $i <= $data->sheets [0] ['numRows']; $i ++) {
    // $data->sheets[0]['numCols']为Excel列数
    for($j = 1; $j <= $data->sheets [0] ['numCols']; $j ++) {
        // 显示每个单元格内容
        // echo $data->sheets[0]['cells'][$i][$j].' ';
        $arr [$i] ['id'] = $data->sheets [0] ['cells'] [$i] [1];
        // $arr[$i]['idcard']=$data->sheets[0]['cells'][$i][2];
        $arr[$i]['stuno']=$data->sheets[0]['cells'][$i][3];
        // $arr [$i] ['name'] = $data->sheets [0] ['cells'] [$i] [4];
        $arr [$i] ['dept'] = $data->sheets [0] ['cells'] [$i] [5];
        $arr [$i] ['major'] = $data->sheets [0] ['cells'] [$i] [6];
        $arr [$i] ['class'] = $data->sheets [0] ['cells'] [$i] [7];
    }
    /*
     * exit(); echo '<br>';
     */
}
print_r ( $arr );
?>

具体参考我的博客:http://my.oschina.net/rain21/blog/380349

热心网友 时间:2022-04-06 04:44

推荐一个简单粗暴的输出办法,虽然excel会报个错,但是不影响浏览

<?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");
//输出内容如下: 
echo   "姓名"."\t"; 
echo   "年龄"."\t"; 
echo   "学历"."\t"; 
echo   "\n"; 
echo   "张三"."\t"; 
echo   "25"."\t"; 
echo   "本科"."\t"; 
?>


但是这单纯是导出,再导入的时候就要复杂很多了

推荐phpExcel插件,这个操作我就不在这里细说了,一句半句真说不清楚。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
嘉容的意思是什么 look!the girl is walking __the road.A,crossB,across!crossing D... 美甲打磨头坏了怎么修 美甲打磨机用了不合适的打磨头会怎么样 卸美甲用什么打磨比较好? 美甲钨钢打磨头和陶瓷打磨头哪个更容易起热呢?这两种打磨头有哪些区别呢... 美甲打磨机到底怎么用 自来水管里流出蓝色的水是怎么回事? 最近有啥动漫好看的 推荐一下最近3年好看的动漫。。。 PHP XLS转换HTML 考研英语考试题型都有哪些? 考研英语一考试题型和分值 考研英语一各个题型分别占多少分 硕士研究生学位英语考试怎么考 研究生英语考试题型是什么 硕士英语内容是什么? 考研 英语有哪些题型 一共多少分 三星s7卡顿怎么解决 手机负荷大就容易变卡 考研英语都有什么题型?都各占多少分? iPad型号MPGT2CH/A是ipad几? s7有什么特殊功能 英语一考研题型有哪些? 三星s7卡顿怎么解决? 研究生学位英语考试是学校出题吗?每年什么时候考的呀?有什么题型呢? 同等学力申请硕士学位英语考试 题型有哪些 三星S7国行什么处理器 三星S7国行处理器介绍 三星S7太卡怎么处理 研究生英语学位考试什么题型 步步高s7是几核处理器? PHPExcel 支持html ci框架phpexcel为什么我的类型是html thinkphp怎么用phpexcel导出数据到excel 想用PHP导出excel表格,但是php环境是5.1.*的,没办法用PHPExcel... phpexcel导出时报错,经过确认代码应该正确,但是排查数据不知道哪里出了问题 phpexcel怎么设置单元格为文本格式 PHPExcel如何设置上标、下标?就是html中的&lt;sub&gt;和&lt;sup&gt;. .xsl文件导入到mysql数据库 PHP+HTML 求教“php怎么把html页面导入到word” php怎么样把xls转换成csv 关于phpexcel读取excel表的问题,如下 一个骨,一个骇的右边和在一起怎么读 “精心”的近义词是什么? 精心近义词有哪些? 泽被后世,针砭时弊,摈除,差强人意,命运多舛,长歌当哭,安步当车,藏污纳后,骇人听闻,大笔如掾的拼音和解释 精心的近义词是什么 凯、蒂、薄、驳、骇、某组词 精心的近义词是什么? 鸡什么骇什么的成语 精心的近义词是什么哦哦