PHP导出excel(*.xls)文件的简单方法

 
大家都知道phpMyAdmin能够导出excel格式的文件,而实际上它只是导出了*.csv格式的文件,而不是真正的excel格式(*.xls)。如果你想得到真正的excel文件格式,也就是*.xls,你可以参看下面的代码!
1. 定义函数 
 程序代码
function xlsBOF() { 
    echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);  
    return; 


function xlsEOF() { 
    echo pack("ss", 0x0A, 0x00); 
    return; 


function xlsWriteNumber($Row, $Col, $Value) { 
    echo pack("sssss", 0x203, 14, $Row, $Col, 0x0); 
    echo pack("d", $Value); 
    return; 


function xlsWriteLabel($Row, $Col, $Value ) { 
    $L = strlen($Value); 
    echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L); 
    echo $Value; 
return; 


2、主程序
 程序代码
   // 查询数据库
    $result=mysql_db_query($dbname,"select id,prename,name,sname,grade from appdata where course='$courseid' and sec='$section'")

    // 文件头
    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/octet-stream");
    header("Content-Type: application/download");;
    header("Content-Disposition: attachment;filename=$courseid-$sec.xls "); 
    header("Content-Transfer-Encoding: binary ");

    // 向表中添加数据

                xlsBOF(); 
                xlsWriteLabel(1,0,"Student Register $semester/$year");
                xlsWriteLabel(2,0,"COURSENO : ");
                xlsWriteLabel(2,1,"$courseid");
                xlsWriteLabel(3,0,"TITLE : ");
                xlsWriteLabel(3,1,"$title");
                xlsWriteLabel(4,0,"SETION : ");
                xlsWriteLabel(4,1,"$sec");
                xlsWriteLabel(6,0,"NO");
                xlsWriteLabel(6,1,"ID");
                xlsWriteLabel(6,2,"Gender");
                xlsWriteLabel(6,3,"Name");
                xlsWriteLabel(6,4,"Lastname");
                $xlsRow = 7;
                while(list($id,$prename,$name,$sname,$grade)=mysql_fetch_row($result)) {
                    ++$i;
                          xlsWriteNumber($xlsRow,0,"$i");
                          xlsWriteNumber($xlsRow,1,"$id");
                          xlsWriteLabel($xlsRow,2,"$prename");
                          xlsWriteLabel($xlsRow,3,"$name");
                          xlsWriteLabel($xlsRow,4,"$sname");
                    $xlsRow++;
                    }
                     xlsEOF();
                 exit();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用PHP可以通过以下步骤实现导出Excel方法: 1. 引入PHPExcel类库,可以从官网下载最新版本的PHPExcel类库。 2. 创建一个空白的Excel文件,使用PHPExcel中的PHPExcel_IOFactory::createWriter方法将其保存为Excel文件格式。 3. 设置Excel文件的属性,如标题,表头,样式等。 4. 遍历数据,将数据逐行写入Excel文件中。 5. 设置输出头部信息,将Excel文件输出到浏览器或保存到服务器上。 下面是一个基本的PHP导出Excel的示例代码: ``` <?php // 引入PHPExcel类库 require_once 'PHPExcel/PHPExcel.php'; // 创建一个空白的Excel文件 $objPHPExcel = new PHPExcel(); $objPHPExcel->getProperties()->setTitle("Title"); // 设置表头 $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', 'ID') ->setCellValue('B1', 'Name') ->setCellValue('C1', 'Email'); // 遍历数据,将数据逐行写入Excel文件中 $data = array( array('id' => 1, 'name' => 'Tom', 'email' => 'tom@example.com'), array('id' => 2, 'name' => 'Jack', 'email' => 'jack@example.com'), array('id' => 3, 'name' => 'Lucy', 'email' => 'lucy@example.com'), ); $row = 2; foreach ($data as $item) { $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A' . $row, $item['id']) ->setCellValue('B' . $row, $item['name']) ->setCellValue('C' . $row, $item['email']); $row++; } // 设置输出头部信息,将Excel文件输出到浏览器或保存到服务器上 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="filename.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit; ?> ``` 在实际开发中,我们可以根据实际需求来自定义Excel文件的内容和样式,以及输出方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值