- 安装 PHPExcel
要在PHP中使用PHPExcel,首先需要安装它。可以在 https://github.com/PHPOffice/PHPExcel 获取PHPExcel的代码,然后将它解压到你的项目中。
- 定义PHPExcel对象
创建一个PHPExcel对象,这个对象将会被用于读取Excel文件。
require_once 'PHPExcel/PHPExcel.php';
$excel = new PHPExcel;
- 加载Excel文件
使用PHPExcel_IOFactory
类中的load()
方法加载Excel文件。这个方法的返回值是一个PHPExcel对象。
$reader = PHPExcel_IOFactory::createReader('Excel2007');
$excel = $reader->load("path/to/your/excel_file.xlsx");
- 读取多个工作表
PHPExcel对象的getSheetCount()
方法可以返回Excel文件中的工作表数量。可以使用一个循环来遍历所有的工作表。
$sheet_count = $excel->getSheetCount();
for ($i = 0; $i < $sheet_count; $i++) {
$sheet = $excel->getSheet($i);
// 处理每个工作表的内容
}
- 读取工作表的内容
使用PHPExcel的getHighestRow()
和getHighestColumn()
方法可以获取每个工作表的最高行和最高列。使用循环遍历每一行并把每一行的值存储在一个数组中。
$highest_row = $sheet->getHighestRow();
$highest_column = $sheet->getHighestColumn();
$sheet_data = array();
for ($row = 1; $row <= $highest_row; $row++) {
$row_data = array();
for ($column = 'A'; $column <= $highest_column; $column++) {
$cell_data = $sheet->getCell($column.$row)->getValue();
$row_date[] = $cell_data;
}
$sheet_data[] = $row_data;
}
- 示例说明
以下是一个简单的示例,将多个工作表中的数据读取到数组中。
require_once 'PHPExcel/PHPExcel.php';
$reader = PHPExcel_IOFactory::createReader('Excel2007');
$excel = $reader->load("path/to/your/excel_file.xlsx");
$sheet_count = $excel->getSheetCount();
$data = array();
for ($i = 0; $i < $sheet_count; $i++) {
$sheet = $excel->getSheet($i);
$highest_row = $sheet->getHighestRow();
$highest_column = $sheet->getHighestColumn();
$sheet_data = array();
for ($row = 1; $row <= $highest_row; $row++) {
$row_data = array();
for ($column = 'A'; $column <= $highest_column; $column++) {
$cell_data = $sheet->getCell($column.$row)->getValue();
$row_data[] = $cell_data;
}
$sheet_data[] = $row_data;
}
$data[] = $sheet_data;
}
print_r($data);
这个代码片段将会读取Excel文件中的每个工作表,将它们的数据存储在一个含有多个数组的数组中。
- 示例说明2
假设Excel文件中包含两个工作表,分别为"Sheet1"和"Sheet2"。以下代码片段演示如何读取这两个工作表的数据。
require_once 'PHPExcel/PHPExcel.php';
$reader = PHPExcel_IOFactory::createReader('Excel2007');
$excel = $reader->load("path/to/your/excel_file.xlsx");
// 读取第一个工作表的内容
$sheet1 = $excel->getSheet(0);
$highest_row1 = $sheet1->getHighestRow();
$highest_column1 = $sheet1->getHighestColumn();
$data1 = array();
for ($row = 1; $row <= $highest_row1; $row++) {
$row_data = array();
for ($column = 'A'; $column <= $highest_column1; $column++) {
$cell_data = $sheet1->getCell($column.$row)->getValue();
$row_data[] = $cell_data;
}
$data1[] = $row_data;
}
// 读取第二个工作表的内容
$sheet2 = $excel->getSheet(1);
$highest_row2 = $sheet2->getHighestRow();
$highest_column2 = $sheet2->getHighestColumn();
$data2 = array();
for ($row = 1; $row <= $highest_row2; $row++) {
$row_data = array();
for ($column = 'A'; $column <= $highest_column2; $column++) {
$cell_data = $sheet2->getCell($column.$row)->getValue();
$row_data[] = $cell_data;
}
$data2[] = $row_data;
}
// 打印结果
print_r($data1);
print_r($data2);
这个代码片段演示了如何读取Excel文件中的两个工作表,分别将它们的数据存储在两个数组中,并最后打印这些数组的内容。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHPExcel实现的读取多工作表操作示例 - Python技术站