PHPExcel-如何使用工作表ID读取Excel工作表

快乐先生

我正在使用PHPExcel从excel文件导入数据。

在我当前的代码中,我正在读取具有工作表名称的工作表数据,并在数组中获取结果。现在,我想使用波纹管功能读取具有工作表ID的工作表数据。

$objPHPExcel->setActiveSheetIndex(2)

但这不适用于我的代码。

这是我的代码工作:

/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');

/** PHPExcel_IOFactory */
require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php';

$objReader = PHPExcel_IOFactory::createReader('Excel2007');

$inputFileType = 'Excel2007';
$inputFileName = 'hello.xlsx';
$sheetname = 'Sample'; // I DON'T WANT TO USE SHEET NAME HERE

$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setLoadSheetsOnly($sheetname);
$objPHPExcel = $objReader->load($inputFileName);
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
echo ' Highest Column '. $getHighestColumn = $objPHPExcel->setActiveSheetIndex()->getHighestColumn(); // Get Highest Column
echo ' Get Highest Row '. $getHighestRow = $objPHPExcel->setActiveSheetIndex()->getHighestRow(); // Get Highest Row

echo "<pre>";
    print_r($sheetData);
echo "</pre>";

对于马克·贝克(Mark Ba​​ker):

当工作表名称为Sample时,我的问题代码中得到此结果(工作表ID:2)

Array
(
    [1] => Array
        (
            [A] => OrderDate
            [B] => Region
            [C] => Rep
            [D] => Item
            [E] => Units
            [F] => Unit Cost
            [G] => Total
        )

    [2] => Array
        (
            [A] => 1/6/13
            [B] => East
            [C] => Jones
            [D] => Pencil
            [E] => 95
            [F] => 1.99
            [G] => 189.05
        )

    [3] => Array
        (
            [A] => 1/23/13
            [B] => Central
            [C] => Kivell
            [D] => Binder
            [E] => 50
            [F] => 19.99
            [G] => 999.5
        )

更改后,我得到以下结果:

PHPExcel Object
(
    [_uniqueID:PHPExcel:private] => 543b9dab3f6da
    [_properties:PHPExcel:private] => PHPExcel_DocumentProperties Object
        (
            [_creator:PHPExcel_DocumentProperties:private] => comp-30
            [_lastModifiedBy:PHPExcel_DocumentProperties:private] => 
            [_created:PHPExcel_DocumentProperties:private] => 1158364800
            [_modified:PHPExcel_DocumentProperties:private] => 1413191554
            [_title:PHPExcel_DocumentProperties:private] => 
            [_description:PHPExcel_DocumentProperties:private] => 
            [_subject:PHPExcel_DocumentProperties:private] => 
            [_keywords:PHPExcel_DocumentProperties:private] => 
            [_category:PHPExcel_DocumentProperties:private] => 
            [_manager:PHPExcel_DocumentProperties:private] => 
            [_company:PHPExcel_DocumentProperties:private] => Microsoft Corporation
            [_customProperties:PHPExcel_DocumentProperties:private] => Array
                (
                    [KSOProductBuildVer] => Array
                        (
                            [value] => 1033-9.1.0.4674
                            [type] => s
                        )

                )

        )

    [_security:PHPExcel:private] => PHPExcel_DocumentSecurity Object
        (
            [_lockRevision:PHPExcel_DocumentSecurity:private] => 
            [_lockStructure:PHPExcel_DocumentSecurity:private] => 
            [_lockWindows:PHPExcel_DocumentSecurity:private] => 
            [_revisionsPassword:PHPExcel_DocumentSecurity:private] => 
            [_workbookPassword:PHPExcel_DocumentSecurity:private] => 
        )

    [_workSheetCollection:PHPExcel:private] => Array
        (
            [0] => PHPExcel_Worksheet Object

任何的想法?

谢谢。

快乐先生

经过Mark BakerNow的帮助,我能够获取具有工作表ID的工作表数据。

这是完整的代码工作:

<?php
/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');

/** PHPExcel_IOFactory */
require_once dirname(__FILE__) . '../PHPExcel/IOFactory.php';

$objReader = PHPExcel_IOFactory::createReader('Excel2007');

$inputFileType = 'Excel2007';
$inputFileName = 'hello.xlsx';
$sheetIndex = 2;

$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$sheetnames = $objReader->listWorksheetNames($inputFileName);
$objReader->setLoadSheetsOnly($sheetnames[$sheetIndex]);
$objPHPExcel = $objReader->load($inputFileName);
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

echo "<pre>";
    print_r($sheetData);
echo "</pre>";
?>

谢谢马克贝克:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHPExcel-如何使用工作表ID读取Excel工作表

来自分类Dev

PHPExcel-如何逐行读取Excel工作表

来自分类Dev

如何使用phpexcel在Excel工作表中插入公式

来自分类Dev

如何使用phpexcel在Excel工作表中插入公式

来自分类Dev

使用phpexcel从其他工作表中读取公式

来自分类Dev

PhpExcel创建多个工作表

来自分类Dev

创建新的工作表PHPExcel

来自分类Dev

如何使用PHPExcel将多个HTML表单数据添加到Excel工作表中

来自分类Dev

PHPexcel获得最高的工作表索引范围

来自分类Dev

PHPExcel-查找工作表状态

来自分类Dev

在phpexcel中复制工作表时出错

来自分类Dev

PHPExcel从大型工作表中删除行

来自分类Dev

PHPExcel - 如果工作表名称等于,则继续

来自分类Dev

phpExcel VLOOKUP无法与多个工作表一起使用

来自分类Dev

使用PHPExcel阅读Excel工作表没有得到预期的结果

来自分类Dev

使用PHPExcel阅读包含合并单元格的Excel工作表

来自分类Dev

PHPExcel从CSV读取日期

来自分类Dev

PHPEXCEL为所有工作表设置标题

来自分类Dev

PHPExcel获取忽略相关工作表的单元格

来自分类Dev

工作表名称中的PHPexcel图表空间不起作用

来自分类Dev

phpexcel将选定的工作表导出为pdf

来自分类Dev

PHPExcel下载无法正常工作

来自分类Dev

PHPExcel下载无法正常工作

来自分类Dev

PHPExcel:逐行读取 Excel 文件

来自分类Dev

使用PHPExcel的颜色问题

来自分类Dev

phpexcel边框使用参数

来自分类Dev

PHP Excel在多个工作表中多次导出|| 致命错误:未捕获的异常'PHPExcel_Exception'

来自分类Dev

phpexcel不创建新表

来自分类Dev

如何限制PHPExcel读取的列?