PHP操作Excel最好的方法是使用PHPExcel类, 可以到官网下载PHPExcel类库 http://phpexcel.codeplex.com
国外网站有时候访问不了, 所以我上传了到优快云, 有需要的朋友点这里下载 PHPExcel1.8
以下是使用方法示例供参考
1. 读写操作
<?php
require_once "lib\PHPExcel-1.8\Classes\PHPExcel.php";
echo "<P>test phpexcel</P>";
//读数据
$filename = 'C:\\ProgramData\\1.xls';
$objReader = PHPExcel_IOFactory::createReaderForFile($filename);; //准备打开文件
$objPHPExcel = $objReader->load($filename); //载入文件
$objPHPExcel->setActiveSheetIndex(0); //设置第一个Sheet
$data = $objPHPExcel->getActiveSheet()->getCell('A2')->getValue(); //获取单元格A2的值
echo $data;
//写数据
$objPHPExcel->getActiveSheet()->setCellValue('A2', 'Hello');//指定要写的单元格位置
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('2.xls');
?>
2.循环读出每个单元格的数据
<?php
require_once "lib\PHPExcel-1.8\Classes\PHPExcel.php";
// Check prerequisites
$reader = PHPExcel_IOFactory::createReader('Excel5'); //设置以Excel5格式(Excel97-2003工作簿)
$PHPExcel = $reader->load("C:\\ProgramData\\1.xls"); // 载入excel文件
$sheet = $PHPExcel->getSheet(0); // 读取第一個工作表
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumm = $sheet->getHighestColumn(); // 取得总列数
/** 循环读取每个单元格的数据 */
for ($row = 1; $row <= $highestRow; $row++) //行号从1开始
{
for ($column = 'A'; $column <= $highestColumm; $column++) //列数是以A列开始
{
$dataset[] = $sheet->getCell($column.$row)->getValue();
echo $column.$row.":".$sheet->getCell($column.$row)->getValue()."<br\>";
}
}
?>
3. 各种读写相关的方法参考
//Include class
require_once('Classes/PHPExcel.php');
require_once('Classes/PHPExcel/Writer/Excel2007.php');
$objPHPExcel = new PHPExcel();
//Set properties 设置文件属性
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
$objPHPExcel->getProperties()->setKeywords("office 2007 openxml php");
$objPHPExcel->getProperties()->setCategory("Test result file");
//Add some data 添加数据
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Hello');//可以指定位置
$objPHPExcel->getActiveSheet()->setCellValue('A2', true);
$objPHPExcel->getActiveSheet()->setCellValue('A3', false);
$objPHPExcel->getActiveSheet()->setCellValue('B2', 'world!');
$objPHPExcel->getActiveSheet()->setCellValue