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

米里尔·泰罗利

我正在使用PHP Excel,以2张纸的形式导出数据。每个工作表应具有不同的结构和不同的内容。在这里,我有代码,我试图用它生成2个名称不同但数据和结构相同的图纸。这是我使用的代码:

 <?php
    include '...config.php'; 

    /** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Europe/London');

if (PHP_SAPI == 'cli')
    die('This example should only be run from a Web Browser');

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


// Create new PHPExcel object
$objPHPExcel = new PHPExcel();

// FIRST SHEET BEGIN
// Rename worksheet
$objPHPExcel->getActiveSheet(0)->setTitle('FIRST SHEET');

// Set active sheet index to the first sheet, so Excel opens this as the first sheet
//$objPHPExcel->setActiveSheetIndex();
// Set document properties
$objPHPExcel->getProperties()->setCreator("test.de")
                             ->setLastModifiedBy("test.de")
                             ->setTitle("Study XLS generated from test.de")
                             ->setSubject("Study details")
                             ->setDescription("This file is automatically generated from test.de")
                             ->setKeywords("Office 2007 test.de")
                             ->setCategory("Studies from test.de");

$query = "SELECT * FROM admin_users  ";
          $result = mysql_query($query);


// Loop through the result set
$rowNumber = 2;

while ($row = mysql_fetch_row($result)) {

    $col = 'A'; //start from column
    $ime = $row[3]; //this is data from mysql
    $jmbg = $row[4]; //this is data from mysql

     $objPHPExcel->setActiveSheetIndex(0)
           ->setCellValue('A1', 'Username')
             ->setCellValue('B1', 'Pass');
    $rows = array($ime,$jmbg);
        foreach($rows as $cell) {
            $objPHPExcel->getActiveSheet(0)->setCellValue($col.$rowNumber,$cell);

                $col++;
        }
$rowNumber++;

    }

//FIRST SHEET ENDS

// SECOND SHEET BEGIN
// Rename worksheet
$objPHPExcel->getActiveSheet(1)->setTitle('SECOND SHEET');


$query1 = "SELECT * FROM admin_users  ";
          $result1 = mysql_query($query1);


// Loop through the result set
$rowNumber1 = 2;

while ($row1 = mysql_fetch_row($result1)) {

    $col1 = 'A'; //start from column
    $ime1 = $row[3]; //this is data from mysql
    $jmbg1 = $row[4]; //this is data from mysql
    //$grad = 'anything else'; //example my excel formulas
     $objPHPExcel->setActiveSheetIndex(1)
           ->setCellValue('A1', 'Username')
             ->setCellValue('B1', 'Pass');
    $rows1 = array($ime1,$jmbg1);
        foreach($rows1 as $cell1) {
            $objPHPExcel->getActiveSheet(1)->setCellValue($col1.$rowNumber1,$cell1);

                $col1++;
        }
$rowNumber1++;

    }

//SECOND SHEET ENDS


// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="studies.xls"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');

// If you're serving to IE over SSL, then the following may be needed
header ('Expires: Mon, 26 Jul 2015 05:00:00 GMT'); // Date in the past
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;

我收到的是:

Fatal error: Uncaught exception 'PHPExcel_Exception' with message 'You tried to set a sheet active by the out of bounds index: 1. The actual number of sheets is 1.' in /var/www/test/Classes/PHPExcel.php:688 Stack trace: #0 /var/www/test/Examples/01simple-download-xls.php(86): PHPExcel->setActiveSheetIndex(1) #1 {main} thrown in /var/www/test/Classes/PHPExcel.php on line 688 

当我只运行第一张纸时,它工作正常。我怎样才能解决这个问题?谢谢!

马克·贝克

使用实例化一个新的PHPExcel对象

$objPHPExcel = new PHPExcel();

仅创建一个具有单个工作表(工作表#0)的PHPExcel对象

随后,您要告诉它在尚不存在的情况下使用第二个工作表(工作表#1):

$objPHPExcel->getActiveSheet(1)->setTitle('SECOND SHEET');

在此之前,您需要在PHPExcel对象中创建第二个工作表:

$objPHPExcel->createSheet();

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

致命错误:Aspose中未捕获的异常'com_exception'

来自分类Dev

PHP致命错误:消息'cache_dir“ / tmp”的未捕获异常'Zend_Cache_Exception'必须是目录'

来自分类Dev

PHP SOAP:致命错误:未捕获的SoapFault异常:[HTTP]在SecurityContext中找不到身份验证对象

来自分类Dev

致命错误:wordpress 中未捕获的异常“异常”?woocommerce 3.0

来自分类Dev

PHP Mailer返回PHP致命错误:未捕获PHPMailer \ PHPMailer \ Exception:SMTP错误:无法验证

来自分类Dev

致命错误:未捕获的异常 'Twilio\Exceptions\TwilioException' 在 /twilio-php/Twilio/Rest/Client.php 中带有消息“未知域通知”

来自分类Dev

PHP致命错误:未捕获的错误:在/ var / www / html /中找不到类'mysqli'

来自分类Dev

PHP 致命错误:未捕获的错误:在第 23 行中调用成员函数 query() on null

来自分类Dev

PHP 致命错误:类未捕获错误:沙箱中的类“Aws\Rekognition\RekognitionClient”

来自分类Dev

WAMP服务器上的PHP PhantomJS:致命错误:未捕获的异常

来自分类Dev

带有PHP的Google Spreadsheets API –致命错误:未捕获的异常

来自分类Dev

WAMP服务器上的PHP PhantomJS:致命错误:未捕获的异常

来自分类Dev

PHP致命错误:消息为'SQLSTATE [HY000] [2002]的未捕获的异常'PDOException'

来自分类Dev

parse-php-sdk致命错误:消息“未经授权”的未捕获异常“ Parse \ ParseException”

来自分类Dev

PHP 致命错误:未捕获的异常 'PDOException' 带有消息 'SQLSTATE[42000]

来自分类Dev

PHPExcel_Writer 中未捕获的异常

来自分类Dev

PHP错误消息“未捕获的异常'Exception'和消息'Query Failed:Array'

来自分类Dev

PHP错误消息“未捕获的异常'Exception'和消息'Query Failed:Array'

来自分类Dev

致命错误:消息为“ DateTime :: __ construct()的未捕获异常” Exception”:无法解析时间字符串

来自分类Dev

致命错误:消息为“ DateTime :: __ construct()的未捕获异常” Exception”:无法解析时间字符串

来自分类Dev

致命错误:带有消息“环境”的未捕获异常“ Braintree_Exception_Configuration”需要设置。

来自分类Dev

Mailgun:致命错误:带有消息“无法打开”的未捕获异常“ Guzzle \ Common \ Exception \ InvalidArgumentException”

来自分类Dev

致命错误:消息为“无法打开输入文件”的未捕获异常“ Exception”

来自分类Dev

我的代码中是什么导致了以下错误:PHP 致命错误:未捕获的错误:在 null 上调用成员函数 begin()?

来自分类Dev

PHP-Codeigniter:未捕获的异常“ PHPExcel_Reader_Exception”,消息为“无法打开以供读取,文件不存在”

来自分类Dev

mongo PHP应用程序错误:致命错误:消息为“”的未捕获异常'MongoException'。不允许输入密钥

来自分类Dev

mongo PHP应用程序错误:致命错误:消息为“”的未捕获异常'MongoException'。不允许输入密钥

来自分类Dev

致命错误:mysqli_sql_exception未捕获:查询/预备语句SELECT * FROM产品中未使用索引

来自分类Dev

未捕获的错误:无法调用抽象方法(PHP致命错误)

Related 相关文章

  1. 1

    致命错误:Aspose中未捕获的异常'com_exception'

  2. 2

    PHP致命错误:消息'cache_dir“ / tmp”的未捕获异常'Zend_Cache_Exception'必须是目录'

  3. 3

    PHP SOAP:致命错误:未捕获的SoapFault异常:[HTTP]在SecurityContext中找不到身份验证对象

  4. 4

    致命错误:wordpress 中未捕获的异常“异常”?woocommerce 3.0

  5. 5

    PHP Mailer返回PHP致命错误:未捕获PHPMailer \ PHPMailer \ Exception:SMTP错误:无法验证

  6. 6

    致命错误:未捕获的异常 'Twilio\Exceptions\TwilioException' 在 /twilio-php/Twilio/Rest/Client.php 中带有消息“未知域通知”

  7. 7

    PHP致命错误:未捕获的错误:在/ var / www / html /中找不到类'mysqli'

  8. 8

    PHP 致命错误:未捕获的错误:在第 23 行中调用成员函数 query() on null

  9. 9

    PHP 致命错误:类未捕获错误:沙箱中的类“Aws\Rekognition\RekognitionClient”

  10. 10

    WAMP服务器上的PHP PhantomJS:致命错误:未捕获的异常

  11. 11

    带有PHP的Google Spreadsheets API –致命错误:未捕获的异常

  12. 12

    WAMP服务器上的PHP PhantomJS:致命错误:未捕获的异常

  13. 13

    PHP致命错误:消息为'SQLSTATE [HY000] [2002]的未捕获的异常'PDOException'

  14. 14

    parse-php-sdk致命错误:消息“未经授权”的未捕获异常“ Parse \ ParseException”

  15. 15

    PHP 致命错误:未捕获的异常 'PDOException' 带有消息 'SQLSTATE[42000]

  16. 16

    PHPExcel_Writer 中未捕获的异常

  17. 17

    PHP错误消息“未捕获的异常'Exception'和消息'Query Failed:Array'

  18. 18

    PHP错误消息“未捕获的异常'Exception'和消息'Query Failed:Array'

  19. 19

    致命错误:消息为“ DateTime :: __ construct()的未捕获异常” Exception”:无法解析时间字符串

  20. 20

    致命错误:消息为“ DateTime :: __ construct()的未捕获异常” Exception”:无法解析时间字符串

  21. 21

    致命错误:带有消息“环境”的未捕获异常“ Braintree_Exception_Configuration”需要设置。

  22. 22

    Mailgun:致命错误:带有消息“无法打开”的未捕获异常“ Guzzle \ Common \ Exception \ InvalidArgumentException”

  23. 23

    致命错误:消息为“无法打开输入文件”的未捕获异常“ Exception”

  24. 24

    我的代码中是什么导致了以下错误:PHP 致命错误:未捕获的错误:在 null 上调用成员函数 begin()?

  25. 25

    PHP-Codeigniter:未捕获的异常“ PHPExcel_Reader_Exception”,消息为“无法打开以供读取,文件不存在”

  26. 26

    mongo PHP应用程序错误:致命错误:消息为“”的未捕获异常'MongoException'。不允许输入密钥

  27. 27

    mongo PHP应用程序错误:致命错误:消息为“”的未捕获异常'MongoException'。不允许输入密钥

  28. 28

    致命错误:mysqli_sql_exception未捕获:查询/预备语句SELECT * FROM产品中未使用索引

  29. 29

    未捕获的错误:无法调用抽象方法(PHP致命错误)

热门标签

归档