찾다
php教程php手册thinkphp3.2.3结合PHPExcel导出数据库里所有表的结构

前面已经做过了一个关于这方面的demo,但没有对excel进行格式设置,用户体验不友好,这次做了改正,希望在项目开发的时候,大家能用得上.
按惯例,先上图
thinkphp3.2.3结合PHPExcel导出数据库里所有表的结构

代码如下:  public function out(){    <br>         //读取库里所有的表            <br>         $sql="show tables";   <br>         $result=M()->query($sql);  <br>         foreach ($result as $k=>$v) {             <br>             $k++;                     <br>             $_sql="SHOW FULL COLUMNS FROM ".$v['tables_in_'.C('DB_NAME')]; <br>             $data[][0]=array("表 {$k}.".$v['tables_in_'.C('DB_NAME')]."表",'','','','','','');<br>             $data[][1]=array("字段","类型","校对","NULL","键","默认","额外","权限","注释");<br>             $data[]=M()->query($_sql);  <br> <br>             $data[][]=array();                      <br>         }          <br>         //导入PHPExcel类库         <br>         import("Common.Org.PHPExcel");        <br>         import("Common.Org.PHPExcel.Writer.Excel5");         <br>         import("Common.Org.PHPExcel.IOFactory.php");         <br>         $filename="test_excel";              <br>         $this->getExcel($filename,$data);    <br>     }  <br> <br>     private function getExcel($fileName,$data){             <br>     //对数据进行检验            <br>          if(empty($data)||!is_array($data)){                 <br>              die("data must be a array");             <br>          }             <br>         $date=date("Y_m_d",time()); <br>         $fileName.="_{$date}.xls";              <br>         //创建PHPExcel对象,注意,不能少了\             <br>         $objPHPExcel=new \PHPExcel();             <br>         $objProps=$objPHPExcel->getProperties();  <br> <br>         $column=2;             <br>         $objActSheet=$objPHPExcel->getActiveSheet();   <br>         $objPHPExcel->getActiveSheet()->getStyle()->getFont()->setName('微软雅黑');//设置字体<br>         $objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(25);//设置默认高度<br> <br>         $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth('5');//设置列宽<br>         $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth('22');//设置列宽<br>         $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth('22');//设置列宽<br>         $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth('40');//设置列宽<br> <br>         //设置边框<br>         $sharedStyle1=new \PHPExcel_Style();<br>         $sharedStyle1->applyFromArray(array('borders'=>array('allborders'=>array('style'=>\PHPExcel_Style_Border::BORDER_THIN))));<br>         <br>         foreach ($data as $ke=>$row){      <br> <br>             foreach($row as $key=>$rows){<br> <br>                 if(count($row)==1&&empty($row[0][1])&&empty($rows[1])&&!empty($rows)){<br> <br>                     $objPHPExcel->getActiveSheet()->setSharedStyle($sharedStyle1, "A{$column}:J{$column}");//设置边框<br>                     array_unshift($rows,$rows['0']);<br>                     $objPHPExcel->getActiveSheet()->mergeCells("A{$column}:J{$column}");//合并单元格<br>                     $objPHPExcel->getActiveSheet()->getStyle("A{$column}:J{$column}")->getFont()->setSize(12);//字体<br>                     $objPHPExcel->getActiveSheet()->getStyle("A{$column}:J{$column}")->getFont()->setBold(true);//粗体<br> <br>                     //背景色填充<br>                     $objPHPExcel->getActiveSheet()->getStyle("A{$column}:J{$column}")->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);<br>                     $objPHPExcel->getActiveSheet()->getStyle("A{$column}:J{$column}")->getFill()->getStartColor()->setARGB('FFB8CCE4');<br> <br>                 }else{<br>                     if(!empty($rows)){<br>                         array_unshift($rows,$key+1);<br>                         $objPHPExcel->getActiveSheet()->setSharedStyle($sharedStyle1,"A{$column}:J{$column}");//设置边框<br>                     } <br>                 }<br> <br>                 if($rows['1']=='字段'){<br>                     $rows[0]='ID';<br>                     //背景色填充<br>                     $objPHPExcel->getActiveSheet()->getStyle("A{$column}:J{$column}")->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);<br>                     $objPHPExcel->getActiveSheet()->getStyle("A{$column}:J{$column}")->getFill()->getStartColor()->setARGB('FF4F81BD');<br>                 }<br> <br>                 $objPHPExcel->getActiveSheet()->getStyle("A{$column}:J{$column}")->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);//垂直居中<br>                 $objPHPExcel->getActiveSheet()->getStyle("A{$column}:J{$column}")->getAlignment()->setWrapText(true);//换行<br>                  //行写入                     <br>                 $span = ord("A");                       <br>                 foreach($rows as $keyName=>$value){                    <br>                     // 列写入                       <br>                     $j=chr($span);                         <br>                     $objActSheet->setCellValue($j.$column, $value);                        <br>                     $span++;                     <br>                 }                     <br>                 $column++;                 <br>             }             <br>         } <br>         $fileName = iconv("utf-8", "gb2312", $fileName);             <br>         //设置活动单指数到第一个表,所以Excel打开这是第一个表             <br>         $objPHPExcel->setActiveSheetIndex(0);             <br>         header('Content-Type: application/vnd.ms-excel');             <br>         header("Content-Disposition: attachment;filename=\"$fileName\"");             <br>         header('Cache-Control: max-age=0');                <br>         $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');             <br>         $objWriter->save('php://output'); //文件通过浏览器下载             <br>         exit;     <br>     }PHPExcel插件放在应用目录下的Common模块下的Org文件夹里,附带附件,大家可以下载,大家也可以改进,希望能把改进后的分享出来!

附件 tp323-PHPExcel.zip ( 1.91 MB 下载:711 次 )

AD:真正免费,域名+虚机+企业邮箱=0元

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.