杰克工作室 发表于 2023-2-23 18:43

PHP操作Excel – PHPExcel 基本用法详解

<h2>1.header</h2>

<pre>
header(&quot;Content-Type:application/vnd.ms-excel&quot;);
header(&quot;Content-Disposition:attachment;filename=sample.xls&quot;);
header(&quot;Pragma:no-cache&quot;);
header(&quot;Expires:0&quot;);</pre>

<h2>2.PHPExcel</h2>

<p><a href="http://www.codeplex.com/PHPExcel">http://www.codeplex.com/PHPExcel</a><br />
<a href="http://www.phpexcel.net/">http://www.phpexcel.net</a><br />
开发包Tests目录有详细使用实例&nbsp; 支持中文,注意文件编码&nbsp;&nbsp; 文件保存为utf-8</p>

<h3><span style="color:#e74c3c">写excel</span></h3>

<pre>
//Include&nbsp;class
require_once(&#39;Classes/PHPExcel.php&#39;);
require_once(&#39;Classes/PHPExcel/Writer/Excel2007.php&#39;);
$objPHPExcel&nbsp;=&nbsp;new&nbsp;PHPExcel();

//Set&nbsp;properties&nbsp;设置文件属性
$objPHPExcel-&gt;getProperties()-&gt;setCreator(&quot;Maarten&nbsp;Balliauw&quot;);
$objPHPExcel-&gt;getProperties()-&gt;setLastModifiedBy(&quot;Maarten&nbsp;Balliauw&quot;);
$objPHPExcel-&gt;getProperties()-&gt;setTitle(&quot;Office&nbsp;2007&nbsp;XLSX&nbsp;Test&nbsp;Document&quot;);
$objPHPExcel-&gt;getProperties()-&gt;setSubject(&quot;Office&nbsp;2007&nbsp;XLSX&nbsp;Test&nbsp;Document&quot;);
$objPHPExcel-&gt;getProperties()-&gt;setDescription(&quot;Test&nbsp;document&nbsp;for&nbsp;Office&nbsp;2007&nbsp;XLSX,&nbsp;generated&nbsp;using&nbsp;PHP&nbsp;classes.&quot;);
$objPHPExcel-&gt;getProperties()-&gt;setKeywords(&quot;office&nbsp;2007&nbsp;openxml&nbsp;php&quot;);
$objPHPExcel-&gt;getProperties()-&gt;setCategory(&quot;Test&nbsp;result&nbsp;file&quot;);

//Add&nbsp;some&nbsp;data&nbsp;添加数据
$objPHPExcel-&gt;setActiveSheetIndex(0);
$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue(&#39;A1&#39;,&nbsp;&#39;Hello&#39;);//可以指定位置
$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue(&#39;A2&#39;,&nbsp;true);
$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue(&#39;A3&#39;,&nbsp;false);
$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue(&#39;B2&#39;,&nbsp;&#39;world!&#39;);
$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue(&#39;B3&#39;,&nbsp;2);
$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue(&#39;C1&#39;,&nbsp;&#39;Hello&#39;);
$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue(&#39;D2&#39;,&nbsp;&#39;world!&#39;);

//循环
for($i&nbsp;=&nbsp;1;$i&lt;200;$i++)&nbsp;{
$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue(&#39;A&#39;&nbsp;.&nbsp;$i,&nbsp;$i);
$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue(&#39;B&#39;&nbsp;.&nbsp;$i,&nbsp;&#39;Test&nbsp;value&#39;);
}

//日期格式化
$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue(&#39;D1&#39;,&nbsp;time());
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;D1&#39;)-&gt;getNumberFormat()-&gt;setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH);

//Add&nbsp;comment&nbsp;添加注释
$objPHPExcel-&gt;getActiveSheet()-&gt;getComment(&#39;E11&#39;)-&gt;setAuthor(&#39;PHPExcel&#39;);
$objCommentRichText&nbsp;=&nbsp;$objPHPExcel-&gt;getActiveSheet()-&gt;getComment(&#39;E11&#39;)-&gt;getText()-&gt;createTextRun(&#39;PHPExcel:&#39;);
$objCommentRichText-&gt;getFont()-&gt;setBold(true);
$objPHPExcel-&gt;getActiveSheet()-&gt;getComment(&#39;E11&#39;)-&gt;getText()-&gt;createTextRun(&quot;\r\n&quot;);
$objPHPExcel-&gt;getActiveSheet()-&gt;getComment(&#39;E11&#39;)-&gt;getText()-&gt;createTextRun(&#39;Total&nbsp;amount&nbsp;on&nbsp;the&nbsp;current&nbsp;invoice,&nbsp;excluding&nbsp;VAT.&#39;);

//Add&nbsp;rich-text&nbsp;string&nbsp;添加文字&nbsp;可设置样式
$objRichText&nbsp;=&nbsp;new&nbsp;PHPExcel_RichText(&nbsp;$objPHPExcel-&gt;getActiveSheet()-&gt;getCell(&#39;A18&#39;)&nbsp;);
$objRichText-&gt;createText(&#39;This&nbsp;invoice&nbsp;is&nbsp;&#39;);
$objPayable&nbsp;=&nbsp;$objRichText-&gt;createTextRun(&#39;payable&nbsp;within&nbsp;thirty&nbsp;days&nbsp;after&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;month&#39;);
$objPayable-&gt;getFont()-&gt;setBold(true);
$objPayable-&gt;getFont()-&gt;setItalic(true);
$objPayable-&gt;getFont()-&gt;setColor(&nbsp;new&nbsp;PHPExcel_Style_Color(&nbsp;PHPExcel_Style_Color::COLOR_DARKGREEN&nbsp;)&nbsp;);
$objRichText-&gt;createText(&#39;,&nbsp;unless&nbsp;specified&nbsp;otherwise&nbsp;on&nbsp;the&nbsp;invoice.&#39;);

//Merge&nbsp;cells&nbsp;合并分离单元格
$objPHPExcel-&gt;getActiveSheet()-&gt;mergeCells(&#39;A18:E22&#39;);
$objPHPExcel-&gt;getActiveSheet()-&gt;unmergeCells(&#39;A18:E22&#39;);

//Protect&nbsp;cells&nbsp;保护单元格
$objPHPExcel-&gt;getActiveSheet()-&gt;getProtection()-&gt;setSheet(true);//Needs&nbsp;to&nbsp;be&nbsp;set&nbsp;to&nbsp;true&nbsp;in&nbsp;order&nbsp;to&nbsp;enable&nbsp;any&nbsp;worksheet&nbsp;protection!
$objPHPExcel-&gt;getActiveSheet()-&gt;protectCells(&#39;A3:E13&#39;,&nbsp;&#39;PHPExcel&#39;);

//Set&nbsp;cell&nbsp;number&nbsp;formats&nbsp;数字格式化
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;E4&#39;)-&gt;getNumberFormat()-&gt;setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);
$objPHPExcel-&gt;getActiveSheet()-&gt;duplicateStyle(&nbsp;$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;E4&#39;),&nbsp;&#39;E5:E13&#39;&nbsp;);

//Set&nbsp;column&nbsp;widths&nbsp;设置列宽度
$objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimension(&#39;B&#39;)-&gt;setAutoSize(true);
$objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimension(&#39;D&#39;)-&gt;setWidth(12);

//Set&nbsp;fonts&nbsp;设置字体
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;B1&#39;)-&gt;getFont()-&gt;setName(&#39;Candara&#39;);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;B1&#39;)-&gt;getFont()-&gt;setSize(20);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;B1&#39;)-&gt;getFont()-&gt;setBold(true);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;B1&#39;)-&gt;getFont()-&gt;setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;B1&#39;)-&gt;getFont()-&gt;getColor()-&gt;setARGB(PHPExcel_Style_Color::COLOR_WHITE);

//Set&nbsp;alignments&nbsp;设置对齐
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;D11&#39;)-&gt;getAlignment()-&gt;setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;A18&#39;)-&gt;getAlignment()-&gt;setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;A18&#39;)-&gt;getAlignment()-&gt;setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;A3&#39;)-&gt;getAlignment()-&gt;setWrapText(true);

//Set&nbsp;column&nbsp;borders&nbsp;设置列边框
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;A4&#39;)-&gt;getBorders()-&gt;getTop()-&gt;setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;A10&#39;)-&gt;getBorders()-&gt;getLeft()-&gt;setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;E10&#39;)-&gt;getBorders()-&gt;getRight()-&gt;setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;D13&#39;)-&gt;getBorders()-&gt;getLeft()-&gt;setBorderStyle(PHPExcel_Style_Border::BORDER_THICK);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;E13&#39;)-&gt;getBorders()-&gt;getBottom()-&gt;setBorderStyle(PHPExcel_Style_Border::BORDER_THICK);

//Set&nbsp;border&nbsp;colors&nbsp;设置边框颜色
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;D13&#39;)-&gt;getBorders()-&gt;getLeft()-&gt;getColor()-&gt;setARGB(&#39;FF993300&#39;);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;D13&#39;)-&gt;getBorders()-&gt;getTop()-&gt;getColor()-&gt;setARGB(&#39;FF993300&#39;);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;D13&#39;)-&gt;getBorders()-&gt;getBottom()-&gt;getColor()-&gt;setARGB(&#39;FF993300&#39;);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;E13&#39;)-&gt;getBorders()-&gt;getRight()-&gt;getColor()-&gt;setARGB(&#39;FF993300&#39;);

//Set&nbsp;fills&nbsp;设置填充
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;A1&#39;)-&gt;getFill()-&gt;setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;A1&#39;)-&gt;getFill()-&gt;getStartColor()-&gt;setARGB(&#39;FF808080&#39;);

//Add&nbsp;a&nbsp;hyperlink&nbsp;to&nbsp;the&nbsp;sheet&nbsp;添加链接
$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue(&#39;E26&#39;,&nbsp;&#39;www.phpexcel.net&#39;);
$objPHPExcel-&gt;getActiveSheet()-&gt;getCell(&#39;E26&#39;)-&gt;getHyperlink()-&gt;setUrl(&#39;http://www.phpexcel.net&#39;);
$objPHPExcel-&gt;getActiveSheet()-&gt;getCell(&#39;E26&#39;)-&gt;getHyperlink()-&gt;setTooltip(&#39;Navigate&nbsp;to&nbsp;website&#39;);
$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle(&#39;E26&#39;)-&gt;getAlignment()-&gt;setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);

//Add&nbsp;a&nbsp;drawing&nbsp;to&nbsp;the&nbsp;worksheet&nbsp;添加图片
$objDrawing&nbsp;=&nbsp;new&nbsp;PHPExcel_Worksheet_Drawing();
$objDrawing-&gt;setName(&#39;Logo&#39;);
$objDrawing-&gt;setDescription(&#39;Logo&#39;);
$objDrawing-&gt;setPath(&#39;./images/officelogo.jpg&#39;);
$objDrawing-&gt;setHeight(36);
$objDrawing-&gt;setCoordinates(&#39;B15&#39;);
$objDrawing-&gt;setOffsetX(110);
$objDrawing-&gt;setRotation(25);
$objDrawing-&gt;getShadow()-&gt;setVisible(true);
$objDrawing-&gt;getShadow()-&gt;setDirection(45);
$objDrawing-&gt;setWorksheet($objPHPExcel-&gt;getActiveSheet());

//Play&nbsp;around&nbsp;with&nbsp;inserting&nbsp;and&nbsp;removing&nbsp;rows&nbsp;and&nbsp;columns
$objPHPExcel-&gt;getActiveSheet()-&gt;insertNewRowBefore(6,&nbsp;10);
$objPHPExcel-&gt;getActiveSheet()-&gt;removeRow(6,&nbsp;10);
$objPHPExcel-&gt;getActiveSheet()-&gt;insertNewColumnBefore(&#39;E&#39;,&nbsp;5);
$objPHPExcel-&gt;getActiveSheet()-&gt;removeColumn(&#39;E&#39;,&nbsp;5);

//Add&nbsp;conditional&nbsp;formatting
$objConditional1&nbsp;=&nbsp;new&nbsp;PHPExcel_Style_Conditional();
$objConditional1-&gt;setConditionType(PHPExcel_Style_Conditional::CONDITION_CELLIS);
$objConditional1-&gt;setOperatorType(PHPExcel_Style_Conditional::OPERATOR_LESSTHAN);
$objConditional1-&gt;setCondition(&#39;0&#39;);
$objConditional1-&gt;getStyle()-&gt;getFont()-&gt;getColor()-&gt;setARGB(PHPExcel_Style_Color::COLOR_RED);
$objConditional1-&gt;getStyle()-&gt;getFont()-&gt;setBold(true);

//Set&nbsp;autofilter&nbsp;自动过滤
$objPHPExcel-&gt;getActiveSheet()-&gt;setAutoFilter(&#39;A1:C9&#39;);

//Hide&nbsp;&quot;Phone&quot;&nbsp;and&nbsp;&quot;fax&quot;&nbsp;column&nbsp;隐藏列
$objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimension(&#39;C&#39;)-&gt;setVisible(false);
$objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimension(&#39;D&#39;)-&gt;setVisible(false);

//Set&nbsp;document&nbsp;security&nbsp;设置文档安全
$objPHPExcel-&gt;getSecurity()-&gt;setLockWindows(true);
$objPHPExcel-&gt;getSecurity()-&gt;setLockStructure(true);
$objPHPExcel-&gt;getSecurity()-&gt;setWorkbookPassword(&quot;PHPExcel&quot;);

//Set&nbsp;sheet&nbsp;security&nbsp;设置工作表安全
$objPHPExcel-&gt;getActiveSheet()-&gt;getProtection()-&gt;setPassword(&#39;PHPExcel&#39;);
$objPHPExcel-&gt;getActiveSheet()-&gt;getProtection()-&gt;setSheet(true);//&nbsp;This&nbsp;should&nbsp;be&nbsp;enabled&nbsp;in&nbsp;order&nbsp;to&nbsp;enable&nbsp;any&nbsp;of&nbsp;the&nbsp;following!
$objPHPExcel-&gt;getActiveSheet()-&gt;getProtection()-&gt;setSort(true);
$objPHPExcel-&gt;getActiveSheet()-&gt;getProtection()-&gt;setInsertRows(true);
$objPHPExcel-&gt;getActiveSheet()-&gt;getProtection()-&gt;setFormatCells(true);

//Calculated&nbsp;data&nbsp;计算
echo&nbsp;&#39;Value&nbsp;of&nbsp;B14&nbsp;[=COUNT(B2:B12)]:&nbsp;&#39;&nbsp;.&nbsp;$objPHPExcel-&gt;getActiveSheet()-&gt;getCell(&#39;B14&#39;)-&gt;getCalculatedValue()&nbsp;.&nbsp;&quot;\r\n&quot;;

//Set&nbsp;outline&nbsp;levels
$objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimension(&#39;E&#39;)-&gt;setOutlineLevel(1);
$objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimension(&#39;E&#39;)-&gt;setVisible(false);
$objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimension(&#39;E&#39;)-&gt;setCollapsed(true);

//Freeze&nbsp;panes
$objPHPExcel-&gt;getActiveSheet()-&gt;freezePane(&#39;A2&#39;);

//Rows&nbsp;to&nbsp;repeat&nbsp;at&nbsp;top
$objPHPExcel-&gt;getActiveSheet()-&gt;getPageSetup()-&gt;setRowsToRepeatAtTopByStartAndEnd(1,&nbsp;1);

//Set&nbsp;data&nbsp;validation&nbsp;验证输入值
$objValidation&nbsp;=&nbsp;$objPHPExcel-&gt;getActiveSheet()-&gt;getCell(&#39;B3&#39;)-&gt;getDataValidation();
$objValidation-&gt;setType(&nbsp;PHPExcel_Cell_DataValidation::TYPE_WHOLE&nbsp;);
$objValidation-&gt;setErrorStyle(&nbsp;PHPExcel_Cell_DataValidation::STYLE_STOP&nbsp;);
$objValidation-&gt;setAllowBlank(true);
$objValidation-&gt;setShowInputMessage(true);
$objValidation-&gt;setShowErrorMessage(true);
$objValidation-&gt;setErrorTitle(&#39;Input&nbsp;error&#39;);
$objValidation-&gt;setError(&#39;Number&nbsp;is&nbsp;not&nbsp;allowed!&#39;);
$objValidation-&gt;setPromptTitle(&#39;Allowed&nbsp;input&#39;);
$objValidation-&gt;setPrompt(&#39;Only&nbsp;numbers&nbsp;between&nbsp;10&nbsp;and&nbsp;20&nbsp;are&nbsp;allowed.&#39;);
$objValidation-&gt;setFormula1(10);
$objValidation-&gt;setFormula2(20);
$objPHPExcel-&gt;getActiveSheet()-&gt;getCell(&#39;B3&#39;)-&gt;setDataValidation($objValidation);

//Create&nbsp;a&nbsp;new&nbsp;worksheet,&nbsp;after&nbsp;the&nbsp;default&nbsp;sheet&nbsp;创建新的工作标签
$objPHPExcel-&gt;createSheet();
$objPHPExcel-&gt;setActiveSheetIndex(1);

//Set&nbsp;header&nbsp;and&nbsp;footer.&nbsp;When&nbsp;no&nbsp;different&nbsp;headers&nbsp;for&nbsp;odd/even&nbsp;are&nbsp;used,&nbsp;odd&nbsp;header&nbsp;is&nbsp;assumed.&nbsp;页眉页脚
$objPHPExcel-&gt;getActiveSheet()-&gt;getHeaderFooter()-&gt;setOddHeader(&#39;&amp;C&amp;HPlease&nbsp;treat&nbsp;this&nbsp;document&nbsp;as&nbsp;confidential!&#39;);
$objPHPExcel-&gt;getActiveSheet()-&gt;getHeaderFooter()-&gt;setOddFooter(&#39;&amp;L&amp;B&#39;&nbsp;.&nbsp;$objPHPExcel-&gt;getProperties()-&gt;getTitle()&nbsp;.&nbsp;&#39;&amp;RPage&nbsp;&amp;P&nbsp;of&nbsp;&amp;N&#39;);

//Set&nbsp;page&nbsp;orientation&nbsp;and&nbsp;size&nbsp;方向大小
$objPHPExcel-&gt;getActiveSheet()-&gt;getPageSetup()-&gt;setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
$objPHPExcel-&gt;getActiveSheet()-&gt;getPageSetup()-&gt;setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);

//Rename&nbsp;sheet&nbsp;重命名工作表标签
$objPHPExcel-&gt;getActiveSheet()-&gt;setTitle(&#39;Simple&#39;);

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

//Save&nbsp;Excel&nbsp;2007&nbsp;file&nbsp;保存
$objWriter&nbsp;=&nbsp;new&nbsp;PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter-&gt;save(str_replace(&#39;.php&#39;,&nbsp;&#39;.xlsx&#39;,&nbsp;__FILE__));
&nbsp;
//Save&nbsp;Excel&nbsp;5&nbsp;file&nbsp;保存
require_once(&#39;Classes/PHPExcel/Writer/Excel5.php&#39;);
$objWriter&nbsp;=&nbsp;new&nbsp;PHPExcel_Writer_Excel5($objPHPExcel);
$objWriter-&gt;save(str_replace(&#39;.php&#39;,&nbsp;&#39;.xls&#39;,&nbsp;__FILE__));

//1.6.2新版保存
require_once(&#39;Classes/PHPExcel/IOFactory.php&#39;);
$objWriter&nbsp;=&nbsp;PHPExcel_IOFactory::createWriter($objPHPExcel,&nbsp;&#39;Excel2007&#39;);
$objWriter-&gt;save(str_replace(&#39;.php&#39;,&nbsp;&#39;.xls&#39;,&nbsp;__FILE__));</pre>

<p>&nbsp;</p>

<h3><span style="color:#e74c3c">读excel</span></h3>

<pre>
//Include&nbsp;class
require_once(&#39;Classes/PHPExcel/Reader/Excel2007.php&#39;);
$objReader&nbsp;=&nbsp;new&nbsp;PHPExcel_Reader_Excel2007;
$objPHPExcel&nbsp;=&nbsp;$objReader-&gt;load(&quot;05featuredemo.xlsx&quot;);</pre>

<p>&nbsp;</p>

<h3><span style="color:#e74c3c">读写csv</span></h3>

<pre>
require_once(&quot;05featuredemo.inc.php&quot;);
require_once(&#39;Classes/PHPExcel/Writer/CSV.php&#39;);
require_once(&#39;Classes/PHPExcel/Reader/CSV.php&#39;);
require_once(&#39;Classes/PHPExcel/Writer/Excel2007.php&#39;);
//Write&nbsp;to&nbsp;CSV&nbsp;format&nbsp;写
$objWriter&nbsp;=&nbsp;new&nbsp;PHPExcel_Writer_CSV($objPHPExcel);
$objWriter-&gt;setDelimiter(&#39;;&#39;);
$objWriter-&gt;setEnclosure(&#39;&#39;);
$objWriter-&gt;setLineEnding(&quot;\r\n&quot;);
$objWriter-&gt;setSheetIndex(0);
$objWriter-&gt;save(str_replace(&#39;.php&#39;,&nbsp;&#39;.csv&#39;,&nbsp;__FILE__));
//Read&nbsp;from&nbsp;CSV&nbsp;format&nbsp;读
$objReader&nbsp;=&nbsp;new&nbsp;PHPExcel_Reader_CSV();
$objReader-&gt;setDelimiter(&#39;;&#39;);
$objReader-&gt;setEnclosure(&#39;&#39;);
$objReader-&gt;setLineEnding(&quot;\r\n&quot;);
$objReader-&gt;setSheetIndex(0);
$objPHPExcelFromCSV&nbsp;=&nbsp;$objReader-&gt;load(str_replace(&#39;.php&#39;,&nbsp;&#39;.csv&#39;,&nbsp;__FILE__));
//Write&nbsp;to&nbsp;Excel2007&nbsp;format
$objWriter2007&nbsp;=&nbsp;new&nbsp;PHPExcel_Writer_Excel2007($objPHPExcelFromCSV);
$objWriter2007-&gt;save(str_replace(&#39;.php&#39;,&nbsp;&#39;.xlsx&#39;,&nbsp;__FILE__));</pre>

<p>&nbsp;</p>

<h3><span style="color:#e74c3c">写html</span></h3>

<pre>
require_once(&quot;05featuredemo.inc.php&quot;);
require_once(&#39;Classes/PHPExcel/Writer/HTML.php&#39;);
//Write&nbsp;to&nbsp;HTML&nbsp;format
$objWriter&nbsp;=&nbsp;new&nbsp;PHPExcel_Writer_HTML($objPHPExcel);
$objWriter-&gt;setSheetIndex(0);
$objWriter-&gt;save(str_replace(&#39;.php&#39;,&nbsp;&#39;.htm&#39;,&nbsp;__FILE__));</pre>

<p>&nbsp;</p>

<h3><span style="color:#e74c3c">写pdf</span></h3>

<pre>
require_once(&quot;05featuredemo.inc.php&quot;);
require_once(&#39;Classes/PHPExcel/IOFactory.php&#39;);
//Write&nbsp;to&nbsp;PDF&nbsp;format
$objWriter&nbsp;=&nbsp;PHPExcel_IOFactory::createWriter($objPHPExcel,&nbsp;&#39;PDF&#39;);
$objWriter-&gt;setSheetIndex(0);
$objWriter-&gt;save(str_replace(&#39;.php&#39;,&nbsp;&#39;.pdf&#39;,&nbsp;__FILE__));
//Echo&nbsp;memory&nbsp;peak&nbsp;usage
echo&nbsp;date(&#39;H:i:s&#39;)&nbsp;.&nbsp;&quot;&nbsp;Peak&nbsp;memory&nbsp;usage:&nbsp;&quot;&nbsp;.&nbsp;(memory_get_peak_usage(true)&nbsp;/&nbsp;1024&nbsp;/&nbsp;1024)&nbsp;.&nbsp;&quot;&nbsp;MB\r\n&quot;;</pre>

杰克工作室 发表于 2023-2-23 19:42

1、设置某一行的高度为35:<br />
$active_sheet-&gt;getRowDimension(2)-&gt;setRowHeight(35);<br />
<br />
<br />
2、设置某一行(第二行A单元格到F单元格)的背景色:<br />
$active_sheet-&gt;getStyle(&#39;A2:F2&#39;)-&gt;getFill()-&gt;setFillType(PHPExcel_Style_Fill::FILL_SOLID);<br />
$active_sheet-&gt;getStyle(&#39;A2:F2&#39;)-&gt;getFill()-&gt;getStartColor()-&gt;setARGB(&quot;#0cedffb&quot;);<br />
<br />
<br />
<br />
3、合并列,并设置此列值<br />
$hcenter &nbsp; &nbsp; &nbsp;= PHPExcel_Style_Alignment::HORIZONTAL_CENTER;//水平居中<br />
$vcenter &nbsp; &nbsp; &nbsp;= PHPExcel_Style_Alignment::VERTICAL_CENTER;//上下居中<br />
<br />
//表头<br />
$objWorksheet-&gt;mergeCells(&#39;A1:E1&#39;)-&gt;setCellValue(&#39;A1&#39;, &#39;类目&#39;)-&gt;getStyle(&#39;A1&#39;)-&gt;getAlignment()-&gt;setHorizontal($hcenter);<br />
<br />
也可以参考:http://www.cnblogs.com/huangcong/p/3687665.html
页: [1]
查看完整版本: PHP操作Excel – PHPExcel 基本用法详解