>  기사  >  백엔드 개발  >  PHP에서 기본적으로 Excel 파일을 내보내는 두 가지 방법에 대한 자세한 설명

PHP에서 기본적으로 Excel 파일을 내보내는 두 가지 방법에 대한 자세한 설명

墨辰丷
墨辰丷원래의
2018-05-30 16:21:452258검색

이 글은 주로 PHP에서 기본적으로 Excel 파일을 내보내는 두 가지 방법을 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.

첫 번째 방법:

$filename='文件名称';
  $filetitle='你的标题';
  if($_POST){
    set_time_limit(10000);
    $title = '';
    ini_set('memory_limit','300M');
    header('Content-Type: application/vnd.ms-excel;charset=utf-8');
    $name = $title.".xls";
    header('Content-Disposition: attachment;filename='.$name.'');
    header('Cache-Control: max-age=0');
    $where = "1=1";
    $sql = "";
    $query = DB::Query($sql);
    // PHP文件句柄,php://output 表示直接输出到浏览器 
    $fp = fopen('php://output', 'a');
    // 输出Excel列头信息 
    $head = array('ID');
    //字符替换
    $p_new_lines = array("\r\n", "\n","\t","\r","\r\n", "<pre class="brush:php;toolbar:false">","
","
","
","
"); $p_change_line_in_excel_cell = ''; foreach($head as $v){ echo iconv('utf-8','gb2312',$v) . "\t"; } echo "\n"; // 计数器 $cnt = 0; // 每隔$limit行,刷新一下输出buffer,节约资源 $limit = 100000; // 逐行取出数据,节约内存 while ($res = mysql_fetch_assoc($query)) { $cnt ++; if ($limit == $cnt) { //刷新一下输出buffer,防止由于数据过多造成问题 ob_flush(); flush(); $cnt = 0; } echo trim($res['id']). "\t"; echo "\n"; } }

두 번째 방법:

$filename=&#39;文件名称&#39;;
  $filetitle=&#39;你的标题&#39;;
  if($_POST){
    $title = &#39;&#39;;
    ini_set(&#39;memory_limit&#39;,&#39;300M&#39;);
    header(&#39;Content-Type: application/vnd.ms-excel;charset=utf-8&#39;);
    $name = $title.".xls";
    header(&#39;Content-Disposition: attachment;filename=&#39;.$name.&#39;&#39;);
    header(&#39;Cache-Control: max-age=0&#39;);
    echo &#39;<html xmlns:o="urn:schemas-microsoft-com:office:office"
      xmlns:x="urn:schemas-microsoft-com:office:excel"
      xmlns="http://www.w3.org/TR/REC-html40">
    <head>
      <meta http-equiv="expires" content="Mon, 06 Jan 1999 00:00:01 GMT">
      <meta http-equiv=Content-Type content="text/html; charset=gb2312">
      <!--[if gte mso 9]><xml>
      <x:ExcelWorkbook>
      <x:ExcelWorksheets>
       <x:ExcelWorksheet>
       <x:Name></x:Name>
       <x:WorksheetOptions>
        <x:DisplayGridlines/>
       </x:WorksheetOptions>
       </x:ExcelWorksheet>
      </x:ExcelWorksheets>
      </x:ExcelWorkbook>
      </xml><![endif]-->
    </head>&#39;;
    $where = "1=1";

    $sql = " ";
    mysql_query(&#39;set names "utf8"&#39;);
    mysql_set_charset(&#39;utf8&#39;);
    $query = DB::Query($sql);

    // PHP文件句柄,php://output 表示直接输出到浏览器 
    $fp = fopen(&#39;php://output&#39;, &#39;a&#39;);
    // 输出Excel列头信息 
    $head = array(&#39;ID&#39;,&#39;xxx&#39;);
    //字符替换
    $p_new_lines = array("\r\n", "\n","\t","\r","\r\n", "<pre class="brush:php;toolbar:false">","
","
","
","
"); $p_change_line_in_excel_cell = ''; echo ""; echo ""; foreach($head as $v){ echo ""; } echo ""; // 逐行取出数据,节约内存 while ($res = mysql_fetch_assoc($query)) { echo ""; echo ""; echo ""; echo""; } echo "
".iconv('utf-8','gb2312',$v)."
".$res['id']."".iconv('utf-8', 'gb2312', $res['xxx']."
"; }

위 내용은 이 글의 전체 내용입니다. 모든 분들께 도움이 되길 바랍니다. 의 학습.


관련 권장 사항:

php배열에서 지정된 요소 삭제를 구현하는 방법

php

phpArray에서 예외 및 오류 분석 병음순차 정렬 방법 자세한 설명

위 내용은 PHP에서 기본적으로 Excel 파일을 내보내는 두 가지 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.