PHP读取Excel文件内容

<p>项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel。</p><p></p><p>PHPExcelReader比较轻量级,仅支持Excel的读取,实际上就是一个Reader。但是可惜的是不能够支持Excel 2007的格式(.xlsx)。</p><p></p><p>PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文件的读取。</p><p></p><p>下载PHPExcel后保存到自己的类文件目录中,然后使用以下代码可以打开Excel 2007(xlsx)格式的文件:</p><p></p><pre class="brush:php;toolbar:false">require_once&#39;/libs/PHPExcel-1.8.0/Classes/PHPExcel.php&#39;;//修改为自己的目录 echo&#39;&lt;p&gt;TESTPHPExcel1.8.0:readxlsxfile&lt;/p&gt;&#39;; $objReader=PHPExcel_IOFactory::createReaderForFile($filename); $objPHPExcel=$objReader-&gt;load($filename); $objPHPExcel-&gt;setActiveSheetIndex(1); $date=$objPHPExcel-&gt;getActiveSheet()-&gt;getCell(&#39;A16&#39;)-&gt;getValue();   </pre><p>输出$date变量就能够看到文件中的内容了。PHPExcel使用PHPExcel_IOFactory这个类来自动匹配所上传的文件类型,当然我们也可以自己制定要解析的文件类型。之后通过load方法,将PHP文件加载到objPHPExcel对象中。如果Excel文件有多个Sheet,可以通过setActiveSheetIndex来设置当前活动的Sheet。如何通过Sheet名来获得当前Sheet我还不知道,如果有知道的可以站内我。</p><p></p><p>需要注意的是,对于Excel中的日期格式,PHPExcel读出来的是不是日期类型,需要我们使用以下方法来进行日期类型转换。</p><p></p><p>echo date(&quot;Y-m-d H:i:s&quot;,PHPExcel_Shared_Date::ExcelToPHP($date));</p><p></p><p>下面的代码显示了如何遍历显示Excel的内容:</p><pre class="brush:bash;toolbar:false">1&lt;tableid=&quot;table_id&quot;&gt; 2&lt;?php 3$objWorksheet=$objPHPExcel-&gt;getActiveSheet(); 4$i=0; 5foreach($objWorksheet-&gt;getRowIterator()as$row){ 6?&gt; 7&lt;tr&gt; 8&lt;?php 9$cellIterator=$row-&gt;getCellIterator(); 10$cellIterator-&gt;setIterateOnlyExistingCells(false); 11 12if($i==0){ 13echo&#39;&lt;thead&gt;&#39;; 14} 15foreach($cellIteratoras$cell){ 16 17echo&#39;&lt;td&gt;&#39;.$cell-&gt;getValue().&#39;&lt;/td&gt;&#39;; 18 19} 20if($i==0){ 21echo&#39;&lt;/thead&gt;&#39;; 22} 23$i++; 24?&gt; 25&lt;/tr&gt; 26&lt;?php 27} 28?&gt; 29&lt;/table&gt;</pre>
RangeTime:0.006882s
RangeMem:206.02 KB
返回顶部 留言