我正在从excel中提取数据,以便根据一周中的哪一天通过PHP以HTML显示输出。我的代码如下:
$dw = date('N');
if($dw==1) {$objWorksheet = $objPHPExcel->getActiveSheet(10);}
elseif($dw ==2) {$objWorksheet = $objPHPExcel->getActiveSheet(11);}
elseif($dw==3) {$objWorksheet = $objPHPExcel->getActiveSheet(12);}
elseif($dw==4) {$objWorksheet = $objPHPExcel->getActiveSheet(13);}
elseif ($dw == 5) {$objWorksheet = $objPHPExcel->getActiveSheet(14);}
$A = $objWorksheet->getCellByColumnAndRow(0, $row)->getValue();
$B = $objWorksheet->getCellByColumnAndRow(1, $row)->getValue();
$C = $objWorksheet->getCellByColumnAndRow(2, $row)->getValue();
$D = $objWorksheet->getCellByColumnAndRow(5, $row)->getValue();
$E = substr(($objWorksheet->getCellByColumnAndRow(6, $row)->getValue()), 0, 1);
$F = $objWorksheet->getCellByColumnAndRow(7, $row)->getValue();
我遇到的问题是,我不是从sheet 10
获取数据,而是从sheet 1
获取数据。公平地说,即使我更改活动的工作表编号以对应于不同的工作表,我仍然可以在工作表的更下面获得相同的输出,我使用一段代码从sheet 0
中提取日期和时间,这很好
如果有任何关于如何修复的建议,我将不胜感激。
来自PHPExcel文档:
PHPExcel-工作表
getSheet(10)
而不是getActiveSheet(它没有任何参数)
您可能想要尝试setActiveSheetIndex(n)而不是getActiveSheet(n)
或者你可以这样做:
$mySheet=$objPHPExcel->getActiveSheetIndex(0);$objPHPExcel->setActiveSheetIndex($mySheet);