PHP读取Excel文件内容

PHP读取Excel文件内容

项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel。

PHPExcelReader比较轻量级,仅支持Excel的读取,实际上就是一个Reader。但是可惜的是不能够支持Excel 2007的格式(.xlsx)。

PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文件的读取。

下载PHPExcel后保存到自己的类文件目录中,然后使用以下代码可以打开Excel 2007(xlsx)格式的文件:


1

2

3

4

5

6

require_once ‘/libs/PHPExcel-1.8.0/Classes/PHPExcel.php‘;     //修改为自己的目录

echo ‘<p>TEST PHPExcel 1.8.0: read xlsx file</p>‘;

$objReader = PHPExcel_IOFactory::createReaderForFile($filename);

$objPHPExcel $objReader->load($filename);

$objPHPExcel->setActiveSheetIndex(1);

$date $objPHPExcel->getActiveSheet()->getCell(‘A16‘)->getValue();

  

输出$date变量就能够看到文件中的内容了。PHPExcel使用PHPExcel_IOFactory这个类来自动匹配所上传的文件类型,当然我们也可以自己制定要解析的文件类型。之后通过load方法,将PHP文件加载到objPHPExcel对象中。如果Excel文件有多个Sheet,可以通过setActiveSheetIndex来设置当前活动的Sheet。如何通过Sheet名来获得当前Sheet我还不知道,如果有知道的可以站内我。

需要注意的是,对于Excel中的日期格式,PHPExcel读出来的是不是日期类型,需要我们使用以下方法来进行日期类型转换。

echo date("Y-m-d H:i:s",PHPExcel_Shared_Date::ExcelToPHP($date));

下面的代码显示了如何遍历显示Excel的内容:

 1 <table id="table_id">
 2 <?php
 3      $objWorksheet = $objPHPExcel->getActiveSheet();
 4      $i = 0;
 5      foreach($objWorksheet->getRowIterator() as $row){
 6      ?>
 7           <tr>
 8           <?php
 9                $cellIterator = $row->getCellIterator();
10                $cellIterator->setIterateOnlyExistingCells(false);
11
12                     if( $i == 0 ){
13                          echo ‘<thead>‘;
14                     }
15                foreach($cellIterator as $cell){
16
17                     echo ‘<td>‘ . $cell->getValue() . ‘</td>‘;
18
19                }
20                     if( $i == 0 ){
21                          echo ‘</thead>‘;
22                     }
23                $i++;
24           ?>
25           </tr>
26      <?php
27      }
28 ?>
29 </table>

转 http://www.cnblogs.com/cocowool/p/4025852.html

同时也可借鉴这篇文章 http://extjs.org.cn/fatjames/archives/379

时间: 2024-10-10 09:51:16

PHP读取Excel文件内容的相关文章

Java编程:使用Java读取Excel文件内容

微软的ODBC驱动程序把工作表中的第一行作为列名(译者注:即字段名),工作表名作为数据库表名. 要通过JDBC访问工作表,我们还必须创建一个新的ODBC数据源,在Windows 2000系统上创建数据源的过程如下: 进入“控制面板” --> “管理工具” --> “数据源(ODBC)”,(译者注:打开后选择系统DSN),点击添加,在弹出窗口中选择“Driver do Microsoft Excel(*.xls)” 然后在数据源名处输入一个名字myexcel(译者注:相当于数据库名),然后点击“

读取Excel文件内容在Web上显示

点击事件代码.cs protected void Button1_Click(object sender, EventArgs e) { string strPath = "d:/test.xls"; string mystring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source = '" + strPath + "';Extended Properties='Excel 8.0;HDR=Yes;IMEX=

关于jquery读取excel文件内容 xls xlsx格式

在一个项目中需要读取excel的内容,当然excel是有格式的,格式就是读取到的第一行会作为属性(Title) 例如如下excel Language Detil en English cn Chinese jp Japanese 该excel会解析成:方式1 当然也可以解析成:方式2 ///////////////////////////////////////////////////////////////////////////////////////////////////////////

批量读取excel文件内容代码

最近工作需要批量添加映射excel文件字段的代码  于是通过读取excel2007实现了批量生成代码,记录下代码 需要引入poi的jar包 import java.awt.List; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import org.apache.poi

java读取excel文件内容,并将读取到的内容写入到另一文件中

需要导入的jar包下载地址https://pan.baidu.com/s/16cTpUfx0KvKkbGYkXAUKMA 代码:ReadExcel.java //信1605-3 20163432 张运涛 package domain; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import jxl.Cell; import jxl.CellType; import jxl.Sh

.NET读取Office文件内容(word、excel、ppt)

引用命名空间 1 using Microsoft.Office.Core; 2 using Word = Microsoft.Office.Interop.Word; 3 using Excel = Microsoft.Office.Interop.Excel; 4 using PowerPoint = Microsoft.Office.Interop.PowerPoint; Word文件的读取 1 public string ReadFile() 2 { 3 string text = str

c#用NPOI将excel文件内容读取到datatable数据表中

将excel文件内容读取到datatable数据表中,支持97-2003和2007两种版本的excel 1.第一种是根据excel文件路径读取excel并返回datatable 1 /// <summary> 2 /// 将excel文件内容读取到DataTable数据表中 3 /// </summary> 4 /// <param name="fileName">文件完整路径名</param> 5 /// <param name=

C#读取excel文件的内容(使用DataSet)

C#读取Excel文件的内容,通过OLEDB来连接,关键是连接的路径,如:string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties=Excel 12.0;";      连接的路径涉及3方面: 1. Provider:使用的是OLEDB连接,但是这个技术会不时更新,使用前查询最新的版本: 2. Data Source: 就是

读取Excel文件中的单元格的内容和颜色

读取Excel文件中的单元格的内容和颜色 先创建一个Excel文件,在A1和A2中随意输入内容,设置A1的字体颜色为红色,A2的背景为黄色.需要 using Excel = Microsoft.Office.Interop.Excel;或者using Microsoft.Excel; string file = @"E:\test.xls"; //测试文件 Excel.Application excel = null; Excel.Workbook wkb = null; try {