php使用PHPExcel18 从第二列开始遍历
可以使用 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() 方法设置第一列的值(即姓名)
原文地址: https://www.cveoy.top/t/topic/g9fP 著作权归作者所有。请勿转载和采集!