可以使用 PHPExcel 的 getColumnIterator() 方法来获取指定范围内的列迭代器,然后使用 PHPExcel_Cell 的 coordinateFromString() 方法将列名转换为列索引。

以下是一个示例代码:

// 导入 PHPExcel 类
require_once 'PHPExcel.php';

// 创建 PHPExcel 对象
$objPHPExcel = new PHPExcel();

// 设置当前工作表
$objPHPExcel->setActiveSheetIndex(0);

// 设置表格头部
$objPHPExcel->getActiveSheet()->setCellValue('A1', '姓名');
$objPHPExcel->getActiveSheet()->setCellValue('B1', '年龄');
$objPHPExcel->getActiveSheet()->setCellValue('C1', '性别');

// 设置数据
$data = array(
    array('张三', 18, '男'),
    array('李四', 20, '女'),
    array('王五', 22, '男')
);

$row = 2; // 数据行数
foreach ($data as $item) {
    $col = 2; // 数据列数,从第二列开始遍历

    foreach ($objPHPExcel->getActiveSheet()->getColumnIterator('B', 'C') as $column) {
        $cell = $column->current();
        $value = $item[$col - 2];
        $cell->setValue($value);
        $col++;
    }

    $objPHPExcel->getActiveSheet()->setCellValue('A' . $row, $item[0]);
    $row++;
}

// 输出 Excel 文件
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="example.xlsx"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;

在上面的代码中,getColumnIterator() 方法的第一个参数指定开始列的名称(这里是 B),第二个参数指定结束列的名称(这里是 C)。然后在循环中,将迭代器的当前元素赋值给 $cell 变量,使用 $cell->setValue() 方法设置单元格的值,并将 $col 变量自增。在循环外部,使用 setCellValue() 方法设置第一列的值(即姓名)

php使用PHPExcel18 从第二列开始遍历

原文地址: https://www.cveoy.top/t/topic/g9fP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录