$inputFileType = 'Excel5';
// $inputFileType = 'Excel2007';
// $inputFileType = 'Excel2003XML';
// $inputFileType = 'OOCalc';
// $inputFileType = 'SYLK';
// $inputFileType = 'Gnumeric';
// $inputFileType = 'CSV';
$inputFileName = './sampleData/example1.xls';
/** Create a new Reader of the type defined in $inputFileType **/
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
/** Load $inputFileName to a PHPExcel Object **/
$objPHPExcel = $objReader->load($inputFileName);
//得到当前活动sheet
$curSheet = $objPHPExcel->getActiveSheet();
//以二维数组形式返回该表格的数据
$sheetData = $curSheet->toArray(null,true,true,true);
var_dump($sheetData);
如果在读取文件之前,文件格式未知,你可以通过IOFactory 的 identify()方法得到文件类型,然后通过createReader()方法去穿件阅读器。
复制代码 代码如下:
$inputFileName = './sampleData/example1.xls';
/** 确定输入文件的格式 **/
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
/** 穿件相对应的阅读器 **/
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
/** 加载要读取的文件 **/
$objPHPExcel = $objReader->load($inputFileName);
2.设置Excel的读取选项
在使用load()方法加载文件之前,可以设置读取选项来控制load的行为.
2.1.ReadingOnly Data from a Spreadsheet File
setReadDataOnly()方法,配置阅读器不关注表格数据的数据类型,都以string格式返回
复制代码 代码如下:
$inputFileType = 'Excel5';
$inputFileName = './sampleData/example1.xls';
/** Create a new Reader of the type defined in $inputFileType **/
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
/** 配置单元格数据都以字符串返回 **/
$objReader->setReadDataOnly(true);
/** Load $inputFileName to a PHPExcel Object **/
$objPHPExcel = $objReader->load($inputFileName);
$sheetData =$objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
var_dump($sheetData);
返回数据:
复制代码 代码如下:
array(8) {
[1]=>
array(6) {
["A"]=>
string(15) "Integer Numbers"
["B"]=>
string(3)"123"
["C"]=>
string(3)"234"
["D"]=>
string(4)"-345"
["E"]=>
string(3)"456"
["F"]=>
NULL
}
[2]=>
array(6) {
["A"]=>
string(22) "Floating PointNumbers"
["B"]=>
string(4) "1.23"
["C"]=>
string(5) "23.45"
["D"]=>
string(10) "0.00E+0.00"
["E"]=>
string(6) "-45.68"
["F"]=>
string(7) "£56.78"
}
[3]=>
array(6) {
["A"]=>
string(7) "Strings"
["B"]=>
string(5) "Hello"
["C"]=>
string(5) "World"
["D"]=>
NULL
["E"]=>
string(8) "PHPExcel"
["F"]=>
NULL
}
[4]=>
array(6) {
["A"]=>
string(8) "Booleans"
["B"]=>
bool(true)
["C"]=>
bool(false)
["D"]=>
NULL
["E"]=>
NULL
["F"]=>
NULL
}
[5]=>
array(6) {
["A"]=>
string(5) "Dates"
["B"]=>
string(16) "19 December 1960"
["C"]=>
string(15) "10 October 2010"
["D"]=>
NULL
["E"]=>
NULL
["F"]=>
NULL
}
[6]=>
array(6) {
["A"]=>
string(5) "Times"
["B"]=>
string(4) "9:30"
["C"]=>
string(5) "23:59"
["D"]=>
NULL
["E"]=>
NULL
["F"]=>
NULL
}
[7]=>
array(6) {
["A"]=>
string(8) "Formulae"
["B"]=>
string(3) "468"
["C"]=>
string(7) "-20.998"
["D"]=>
NULL
["E"]=>
NULL
["F"]=>
NULL
}
[8]=>
array(6) {
["A"]=>
string(6) "Errors"
["B"]=>
string(4) "#N/A"
["C"]=>
string(7) "#DIV/0!"
["D"]=>
NULL
["E"]=>
NULL
["F"]=>
NULL
}
}
如果不设置则返回:
array(8) {
[1]=>
array(6) {
["A"]=>
string(15) "Integer Numbers"
["B"]=>
float(123)
["C"]=>
float(234)
["D"]=>
float(-345)
["E"]=>
float(456)
["F"]=>
NULL
}
[2]=>
array(6) {
["A"]=>
string(22) "Floating Point Numbers"
["B"]=>
float(1.23)
["C"]=>
float(23.45)
["D"]=>
float(3.45E-6)
["E"]=>
float(-45.678)
["F"]=>
float(56.78)
}
[3]=>
array(6) {
["A"]=>
string(7) "Strings"
["B"]=>
string(5) "Hello"
["C"]=>
string(5) "World"
["D"]=>
NULL
["E"]=>
string(8) "PHPExcel"
["F"]=>
NULL
}
[4]=>
array(6) {
["A"]=>
string(8) "Booleans"
["B"]=>
bool(true)
["C"]=>
bool(false)
["D"]=>
NULL
["E"]=>
NULL
["F"]=>
NULL
}
[5]=>
array(6) {
["A"]=>
string(5) "Dates"
["B"]=>
float(22269)
["C"]=>
float(40461)
["D"]=>
NULL
["E"]=>
NULL
["F"]=>
NULL
}
[6]=>
array(6) {
["A"]=>
string(5) "Times"
["B"]=>
float(0.39583333333333)
["C"]=>
float(0.99930555555556)
["D"]=>
NULL
["E"]=>
NULL
["F"]=>
NULL
}
[7]=>
array(6) {
["A"]=>
string(8) "Formulae"
["B"]=>
float(468)
["C"]=>
float(-20.99799655)
["D"]=>
NULL
["E"]=>
NULL
["F"]=>
NULL
}
[8]=>
array(6) {
["A"]=>
string(6) "Errors"
["B"]=>
string(4) "#N/A"
["C"]=>
string(7) "#DIV/0!"
["D"]=>
NULL
["E"]=>
NULL
["F"]=>
NULL
}
}
Reading Only Data from a SpreadsheetFile applies to Readers:
Excel2007 YES Excel5 YES Excel2003XML YES
OOCalc YES SYLK NO Gnumeric YES
CSV NO
2.2.ReadingOnly Named WorkSheets from a File
setLoadSheetsOnly(),设置要读取的worksheet,接受worksheet的名称作为参数。
复制代码 代码如下: