我有一个巨大的工作表作为我的输入,但我必须阅读所有列,我必须读取选定的列只有像36,列中的B,H,I和J,如果有些代码,我将非常感谢还提供了4-5行。 在妈妈,我使用以下代码!
$objWorksheet = $objPHPExcel->setActiveSheetIndex('0') ;
$i=0;$dum=false;$sum=0;
foreach ($objWorksheet->getRowIterator() as $row)
{
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
if($dum)
{ // iterated.
foreach ($cellIterator as $cell)
{ if($i==1||$i==7||$i==8||$i==9)
{
if($i==1)
{
$value[$i]=$cell->getValue();
$pieces = explode("_", $value[$i]);
$asd=preg_split('#(?=\d)(?<=[a-z])#i',$pieces[0] );
// $value[$i]=$asd[1];
}
if($i==7)
{
$value[$i]=PHPExcel_Style_NumberFormat::toFormattedString($cell->getCalculatedValue(), 'Y-m-d H:i:s');
$A=date('Y-m-d', strtotime($value[$i]));
$value[7]=$A;
}
if($i==8)
{
$value[$i]=PHPExcel_Style_NumberFormat::toFormattedString($cell->getCalculatedValue(), 'Y-m-d H:i:s'); ;
$num2=$value[$i];
}
if($i==9)
{
$value[$i]=$cell->getValue();
}
echo $value[$i]; echo "|||||||";
}$i++;
}$i=0; echo "<br>";
答案 0 :(得分:5)
这可能会更快:
$highestRow = $objWorksheet->getHighestRow();
for ($row = 0; $row <= $highestRow; ++$row) {
// Fetch the data of the columns you need
$col1 = $objWorksheet->getCellByColumnAndRow(1, $row)->getValue();
$col7 = $objWorksheet->getCellByColumnAndRow(7, $row)->getValue();
$col8 = $objWorksheet->getCellByColumnAndRow(8, $row)->getValue();
$col9 = $objWorksheet->getCellByColumnAndRow(9, $row)->getValue();
/*
** INSERT HERE YOUR PHP CODE
*/
echo $col1."||||||".$col7."||||||".$col8."||||||".$col9;
}