PHPExcel如何导出excel的方法
本篇文章主要介绍PHPExcel如何导出excel的方法,感兴趣的朋友参考下,希望对大家有所帮助。
//设置PHPExcel类库的includepath
set_include_path('.'.PATH_SEPARATOR.'D:\workspace\biznaligy_eh\dev_src\includes\PHPExcel'.PATH_SEPARATOR.get_include_path());
require_once'PHPExcel.php'; require_once'PHPExcel/Writer/Excel5.php';//用于其他低版本xls require_once'PHPExcel/Writer/Excel2007.php';//用于excel-2007格式
//创建一个处理对象实例<br/>
$objExcel=newPHPExcel();
<br/>//创建文件格式写入对象实例,uncomment<br/>
$objWriter=newPHPExcel_Writer_Excel5($objExcel);//用于其他版本格式 //or //$objWriter=newPHPExcel_Writer_Excel2007($objExcel);//用于2007格式 //$objWriter->setOffice2003Compatibility(true);
//设置文档基本属性<br/>
$objProps=$objExcel->getProperties(); $objProps->setCreator("ZealLi"); $objProps->setLastModifiedBy("ZealLi"); $objProps->setTitle("OfficeXLSTestDocument"); $objProps->setSubject("OfficeXLSTestDocument,Demo"); $objProps->setDescription("Testdocument,generatedbyPHPExcel."); $objProps->setKeywords("officeexcelPHPExcel"); $objProps->setCategory("Test");
//设置当前的sheet索引,用于后续的内容操作。<br/>//一般只有在使用多个sheet的时候才需要显示调用。<br/>//缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0<br/>
$objExcel->setActiveSheetIndex(0); $objActSheet=$objExcel->getActiveSheet();
//设置当前活动sheet的名称<br/>
$objActSheet->setTitle('测试Sheet');
<br/>//设置单元格内容由PHPExcel根据传入内容自动判断单元格内容类型<br/>
$objActSheet->setCellValue('A1','字符串内容');//字符串内容 $objActSheet->setCellValue('A2',26);//数值 $objActSheet->setCellValue('A3',true);//布尔值 $objActSheet->setCellValue('A4','=SUM(A2:A2)');//公式
<br/>//显式指定内容类型<br/>
$objActSheet->setCellValueExplicit('A5','8757584',PHPExcel_Cell_DataType::TYPE_STRING);
//合并单元格<br/>
$objActSheet->mergeCells('B1:C22');
<br/>//分离单元格<br/>
$objActSheet->unmergeCells('B1:C22');
<br/>//设置宽度<br/>
$objActSheet->getColumnDimension('B')->setAutoSize(true); $objActSheet->getColumnDimension('A')->setWidth(30);
<br/>//设置单元格内容的数字格式。<br/>//如果使用了PHPExcel_Writer_Excel5来生成内容的话,<br/>//这里需要注意,在PHPExcel_Style_NumberFormat类的const变量定义的<br/>//各种自定义格式化方式中,其它类型都可以正常使用,但当setFormatCode<br/>//为FORMAT_NUMBER的时候,实际出来的效果被没有把格式设置为"0"。需要<br/>//修改PHPExcel_Writer_Excel5_Format类源代码中的getXf($style)方法,<br/>//在if($this->_BIFF_version==0x0500){(第363行附近)前面增加一<br/>//行代码:<br/>//if($ifmt==='0')$ifmt=1;<br/><br/>//设置格式为PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大数字<br/>//被使用科学记数方式显示,配合下面的setAutoSize方法可以让每一行的内容<br/>//都按原始内容全部显示出来。<br/>
<br/>
<br/>//设置字体<br/>
$objFontA5=$objStyleA5->getFont(); $objFontA5->setName('CourierNew'); $objFontA5->setSize(10); $objFontA5->setBold(true); $objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); $objFontA5->getColor()->setARGB('FFFF0000'); $objFontA5->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE); //$objFontA5->getFont()->setColor(PHPExcel_Style_Color::COLOR_RED);
//设置对齐方式<br/>
$objAlignA5=$objStyleA5->getAlignment(); $objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); $objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); $objAlignA5->setWrapText(true);//自动换行,前提是单元格内的值超列宽,或者在值内写入个\n
//设置边框<br/>
$objBorderA5=$objStyleA5->getBorders(); $objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objBorderA5->getTop()->getColor()->setARGB('FFFF0000');//边框color $objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
//设置CELL填充颜色<br/>
$objFillA5=$objStyleA5->getFill(); $objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $objFillA5->getStartColor()->setARGB('FFEEEEEE');
<br/>//从指定的单元格复制样式信息.<br/>
$objActSheet->duplicateStyle($objStyleA5,'B1:C22');
<br/>//添加图片<br/>
$objDrawing = newPHPExcel_Worksheet_Drawing(); $objDrawing->setName('ZealImg'); $objDrawing->setDescription('ImageinsertedbyZeal'); $objDrawing->setPath('./zeali.net.logo.gif'); $objDrawing->setHeight(36); $objDrawing->setCoordinates('C23'); $objDrawing->setOffsetX(10); $objDrawing->setRotation(15); $objDrawing->getShadow()->setVisible(true); $objDrawing->getShadow()->setDirection(36); $objDrawing->setWorksheet($objActSheet);
<br/>//添加一个新的worksheet<br/>
$objExcel->createSheet(); $objExcel->getSheet(1)->setTitle('测试2');
<br/>//保存,设置密码<br/>
$objPHPExcel->getActiveSheet()->getProtection()->setPassword('PHPExcel');
//保护单元格<br/>
$objExcel->getSheet(1)->getProtection()->setSheet(true); $objExcel->getSheet(1)->protectCells('A1:C22','PHPExcel');
<br/>//显示网格线:<br/>
$objPHPExcel->getActiveSheet()->setShowGridlines(true);
//显示隐藏列<br/>
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setVisible(true); $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setVisible(false);
//显示隐藏行<br/>
$objPHPExcel->getActiveSheet()->getRowDimension('10')->setVisible(false);
//默认列宽 <br/>
$objPHPExcel->getActiveSheet()->getDefaultColumnDimension()->setWidth(12);
//默认行宽 <br/>
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(15);
//worksheet默认style设置(和默认不同的需单独设置)<br/>
$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setName('Arial'); $objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(8); $alignment = $objPHPExcel->getActiveSheet()->getDefaultStyle()->getAlignment(); $alignment->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $alignment->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
//输出内容<br/>
$outputFileName="output.xls";
//到文件通过文件路径再用Ajax无刷新页面<br/>
////$objWriter->save($outputFileName);
//到浏览器<br/>
header("Content-Type:application/force-download"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download"); header('Content-Disposition:inline;filename="'.$outputFileName.'"'); header("Content-Transfer-Encoding:binary"); header("Last-Modified:".gmdate("D,dMYH:i:s")."GMT"); header("Cache-Control:must-revalidate,post-check=0,pre-check=0"); header("Pragma:no-cache"); $objWriter->save('php://output'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); $objWriter->save('a.pdf') public function getCellByColumnAndRow($pColumn = 0, $pRow = 0) { return $this->getCell(PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow); } print_r(PHPExcel_Cell::columnIndexFromString('D'));exit; //echo 4 echo PHPExcel_Cell::stringFromColumnIndex(4) // echo E for($c=PHPExcel_Cell::columnIndexFromString('A');$c<PHPExcel_Cell::columnIndexFromString('J');$c++){ echo PHPExcel_Cell::stringFromColumnIndex($c); }
//phpexcel默认是没有冻结的,下面是冻结列。定二则定全部<br/>
$sheet->freezePane('A1'); $sheet->freezePane('B1');
<br/>冻结行<br/>
$sheet->freezePane('D1'); $sheet->freezePane('D2');
不能再次定义A,b,c否则列冻结被替代<br/>
public function freezePaneByColumnAndRow($pColumn = 0, $pRow = 0){ $this->freezePane(PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow); } public function unfreezePane() { $this->freezePane(''); } $worksheet->setInputEncoding("UTF-8"); //$freeze = $sheet->getFreezePane();
<br/>
用phpexcel批量设置单元格格式
<br/>
Java代码
$style_obj = new PHPExcel_Style(); $style_array = array( 'borders' => array( 'top' => array('style' => PHPExcel_Style_Border::BORDER_THIN), 'left' => array('style' => PHPExcel_Style_Border::BORDER_THIN), 'bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN), 'right' => array('style' => PHPExcel_Style_Border::BORDER_THIN) ), 'alignment' => array( 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, 'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER, 'wrap' => true ) ); $style_obj->applyFromArray($style_array); $sheet->setSharedStyle($style_obj, "A1:O35");
phpexcel大数据导出,数据追加(19万行,分20个sheet, 1万行是一个sheet,第一次到1个sheet数据,其他数据追加到excel分19次覆盖对应的sheet)
先用 PhpExcel 建立reader,再load文件,这样打开已经存在的文档,然后再建立writer,将reader中的数据都复制过来,再用 PhpExcel 进行数据修改,再以load的文件名覆盖保存。
<br/>
Java代码
<?php require_once 'PHPExcel/IOFactory.php'; $reader = PHPExcel_IOFactory::createReader('Excel5'); //读取旧版 excel 档案 $PHPExcel = $reader->load("y.xls"); // 档案名称 $sheet = $PHPExcel->getSheet(0); // 读取第一个工作表(编号从 0 开始) $highestRow = $sheet->getHighestRow(); // 取得总列数 for ($row = 1; $row <= $highestRow; $row++) { for ($column = 1; $column <= 6; $column++) { $val = $sheet->getCellByColumnAndRow($column, $row)->getValue(); } } ?>
相关推荐:
Yii2框架中实现PHPExcel导出Excel文件的方法分享
Atas ialah kandungan terperinci PHPExcel如何导出excel的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.
