只读特定表

时间:2014-04-15 10:58:01

标签: php phpexcel xls

我正在尝试从xls文档中读取一张表,我有这个:

 $objPHPExcel = $objReader->load('daily/' . $fisierInbound);
 $objWorksheet = $objPHPExcel->setActiveSheetIndex(0);
 foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {

            $worksheetTitle     = $worksheet->getTitle();
            $highestRow         = $worksheet->getHighestRow(); // e.g. 10
            $highestColumn      = $worksheet->getHighestColumn(); // e.g 'F'
            $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
            $dataCalls = $worksheet->getCellByColumnAndRow(2, 2)->getValue();
            $dataSubstr = substr($dataCalls, 53);


        } 

问题是它会读取文件的所有表格。

有什么想法吗?

3 个答案:

答案 0 :(得分:12)

您可以比获取工作表名称列表更容易:

.clear()

加载#2(第三)工作表。

答案 1 :(得分:7)

对于那些仍在努力解决这个问题的人来说,这是最简单的方法 -

from sqlalchemy.orm import mapper, Session
engine = create_engine('sqlite3://...')
s = Session(bind=engine)

答案 2 :(得分:1)

//load library - EXCEL
$this->load->library('excel');
$objPHPExcel = PHPExcel_IOFactory::load('./folder/exceldata.xls');

可以通过名称或在工作簿中的索引位置访问各个工作表。索引位置代表在MS Excel(或其他适当的Spreadsheet程序)中打开工作簿时显示每个工作表“标签”的顺序。

要按名称访问工作表,请使用 getSheetByName()方法,指定要访问的工作表的名称。

//Retrieve the worksheet called 'Worksheet 1'
$objPHPExcel->getSheetByName('Worksheet 1');

要按其索引访问工作表,请使用 getSheet()方法。 请注意,工作表从0开始索引。

//Retrieve the **1st 'tab' worksheet** e.g. called 'Sheet 1'
$worksheet = $objPHPExcel->getSheet(0);
//Retrieve the **2nd 'tab' worksheet** e.g. called 'Sheet 2'
$worksheet = $objPHPExcel->getSheet(1);

这一切都可以通过@Mark Ba​​ker的 PHPExcel库来实现。谢谢。