찾다
php教程php手册PHP 导出Excel

PHP 导出Excel

在开发一个商城网站的时候,客户需要一个导出报表的功能,我使用PHPExcel来实现这个功能。

下载PHPExcel_1.8.0_doc.zip,将解压后的文件夹里的Classes上传到网站的根目录下,Classes目录内的内容如下:

导出文件Excel.php

require_once dirname(__FILE__).'/Classes/PHPExcel.php';//引入PHPExcel
.....此处略去从数据库获取数据的过程,$a为需要导出的数组......
$numArr = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();

$arr = array('订单号','下单时间','城市','地区', '客户名称', '收货人', '联系电话', '收货地址', 'ERP客户名称', '物流系统客户名称', '活动项目',
 '品牌', '型号', '颜色', '物流系统型号', '订货量', '单价', '代收货款', '红包', '价保返利', '运费', '实收金额', '付款方式', '订单来源',
 '上游厂商', '是否在仓', '快递面单号', '订单状态', '确认时间', '末次状态确认时间', '描述', '对应业务', '对应客服', '商家留言', '下单摘要',
 '业务员', '联系方式');
// 输出标题
echo date('H:i:s') , " Add some data" , EOL;
//设置换行
$objPHPExcel->getActiveSheet()->getStyle('H')->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->getStyle('Y')->getAlignment()->setWrapText(true);
//设置相应列的宽度
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(15);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(20);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('G')->setWidth(15);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('H')->setWidth(40);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('I')->setWidth(15);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('J')->setWidth(15);
//输出第一行
$objPHPExcel->setActiveSheetIndex(0)
	    ->setCellValue('A1', $arr[0])
            ->setCellValue('B1', $arr[1])
            ->setCellValue('C1', $arr[2])
            ->setCellValue('D1', $arr[3])
            ->setCellValue('E1', $arr[4])
            ->setCellValue('F1', $arr[5])
            ->setCellValue('G1', $arr[6])
            ->setCellValue('H1', $arr[7])
            ->setCellValue('I1', $arr[8])
            ->setCellValue('J1', $arr[9])
	    ->setCellValue('K1', $arr[10])
	    ->setCellValue('L1', $arr[11]);


//输出内容
for($i=0;$i<count($a);$i++){
	$objPHPExcel->setActiveSheetIndex(0)
		->setCellValue($numArr[0].($i+2), $a[$i][&#39;order_sn&#39;])
		->setCellValue($numArr[1].($i+2), $a[$i][&#39;add_time&#39;])
		->setCellValue($numArr[2].($i+2), $a[$i][&#39;city&#39;])
		->setCellValue($numArr[3].($i+2), $a[$i][&#39;region_name&#39;])
		->setCellValue($numArr[4].($i+2), $a[$i][&#39;company&#39;])
		->setCellValue($numArr[5].($i+2), $a[$i][&#39;consignee&#39;])
		->setCellValue($numArr[6].($i+2), $a[$i][&#39;mobile&#39;])
		->setCellValue($numArr[7].($i+2), $a[$i][&#39;address&#39;])
		->setCellValue($numArr[8].($i+2), &#39;&#39;)
		->setCellValue($numArr[9].($i+2), &#39;&#39;)
		->setCellValue($numArr[10].($i+2), &#39;&#39;)
		->setCellValue($numArr[11].($i+2), $a[$i][&#39;brand_name&#39;]);
}

// Rename worksheet
echo date(&#39;H:i:s&#39;) , " Rename worksheet" , EOL;
$dirName = date("Ymd");//目录名
$fileName = date("YmdHis");//文件名
$objPHPExcel->getActiveSheet()->setTitle($fileName);


// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);


// Save Excel 2007 file
echo date(&#39;H:i:s&#39;) , " Write to Excel2007 format" , EOL;
$callStartTime = microtime(true);
if(!opendir(&#39;../excel/&#39;.$dirName)){
	mkdir(&#39;../excel/&#39;.$dirName);
}
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, &#39;Excel2007&#39;);
$objWriter->save(&#39;../excel/&#39;.$dirName.&#39;/&#39;.$fileName.&#39;.xlsx&#39;);

$end = getCurrentTime();
$spend = $end-$begin;
if ($spend > 30){
	echo &#39;<script>if(confirm("执行超时!")){ window.history.back(-1);}</script>&#39;;
	exit;
}
header(&#39;Location:http://&#39;.$_SERVER[&#39;HTTP_HOST&#39;].&#39;/excel/&#39;.$dirName.&#39;/&#39;.$fileName.&#39;.xlsx&#39;);


성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.