$filepath = './1/1.xls';
// 导入PHPExcel
import("Common.Libs.PHPExcel","",".php");
// 为了可以读取所有版本的xls
$objReader = \PHPExcel_IOFactory::createReader("Excel2007");
if (!$objReader->canRead($filepath)) {
$objReader = \PHPExcel_IOFactory::createReader("Excel5");
if (!$objReader->canRead($filepath)) {
echo "选取文件格式不正确";
return;
}
}
// 设置只读
$objReader->setReadDataOnly(true);
// 获取所有的工作表名字
$sheetNames = $objReader->listWorksheetNames($filepath);
// 读取文件
$objPHPExcel = $objReader->load($filepath);
$objWorksheet = $objPHPExcel->getSheet(0);
// 获取一共多少个工作表
$sheetCount = $objPHPExcel->getSheetCount();
// 一共多少行
$highestRow = $objWorksheet->getHighestRow();
// 一共多少列
$highestColumn = $objWorksheet->getHighestColumn();
// 字幕列标识转换成数字
$highestColumnIndex = \PHPExcel_Cell::columnIndexFromString($highestColumn);
// 初始化结果数组
$excelData = array();
// 循环读取数据
for ($row=1; $row <= $highestRow; $row++) {
for ($col=1; $col <= $highestColumnIndex; $col++) {
$excelData[$row][] = (string)$objWorksheet->getCellByColumnAndRow($col,$row)->getValue();
}
}
// 打印结果数组
p($excelData);例外一种:
canRead($filePath))
{
$PHPReader = new PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($filePath))
{
echo '未发现Excel文件!';
return;
}
}
//不需要读取整个Excel文件而获取所有工作表数组的函数,感觉这个函数很有用,找了半天才找到
$sheetNames = $PHPReader->listWorksheetNames($filePath);
//读取Excel文件
$PHPExcel = $PHPReader->load($filePath);
//获取工作表的数目
$sheetCount = $PHPExcel->getSheetCount();
//选择第一个工作表
$currentSheet = $PHPExcel->getSheet(0);
//取得一共有多少列
$allColumn = $currentSheet->getHighestColumn();
//取得一共有多少行
$allRow = $currentSheet->getHighestRow();
//循环读取数据,默认编码是utf8,这里转换成gbk输出
for($currentRow = 1;$currentRow<=$allRow;$currentRow++)
{
for($currentColumn='A';$currentColumn<=$allColumn;$currentColumn++)
{
$address = $currentColumn.$currentRow;
echo iconv( 'utf-8','gbk', $currentSheet->getCell($address)->getValue() )."\t";
}
echo "
";
}
?>