我试图从xls文档中读取一张纸,但我有这个:
$sheetname = 'Sheet1';
$path = $_FILES["file"]["tmp_name"];
$object = PHPExcel_IOFactory::load($path);
$objectr = $object->getSheet(0);
foreach($objectr->getWorksheetIterator() as $worksheet)
{
$highestRow = $worksheet->getHighestRow();
$highestColumn = $worksheet->getHighestColumn();
for($row=2; $row<=$highestRow; $row++)
{
$date= $worksheet->getCellByColumnAndRow(0, $row)->getValue();
$name= $worksheet->getCellByColumnAndRow(1, $row)->getValue();
$old= $worksheet->getCellByColumnAndRow(2, $row)->getValue();
$data[] = array(
'date' => $date,
'name' => $name,
'old' => $old
);
}
}
$this->db->insert_batch('tbl_trx', $data);
unlink(realpath('excel/'.$data_upload['file_name']));
$this->session->set_flashdata('success','Berhasil successData');
redirect('transaction');
问题是它读取了文件的所有工作表。
有什么想法吗?
使用]查看工作表名称>
$title = $sheet->getTitle(); $objWorksheet = $objPHPExcel->getSheetByName($title);
示例代码如下
$objReader = PHPExcel_IOFactory::createReader('Excel2007'); //set to read only $objReader->setReadDataOnly(true); //load excel file $objPHPExcel = $objReader->load('upload/'.$file_name); $sheetnumber = 0; foreach ($objPHPExcel->getWorksheetIterator() as $sheet){ $title = $sheet->getTitle(); // get the sheet name $sheet= str_replace(' ', '', $title); // remove the spaces between sheet name $sheet= strtolower($sheet); $objWorksheet = $objPHPExcel->getSheetByName($title); $lastRow = $objPHPExcel->setActiveSheetIndex($sheetnumber)->getHighestRow(); $sheetnumber++; if($sheet=='YOUR SHEET NAME HERE '){ // NOTE HERE I CHECK SHEET NAME // YOUR FURTHER CODE HERE for($j=2; $j<=$lastRow; $j++){ $date = $objWorksheet->getCellByColumnAndRow(0,$j)->getValue(); } }