PHPExcel错误:未定义的索引


PHPExcel error: Undefined index

我想将名为"lokasi"的mysql表导出到excel中,但我遇到了以下错误:

注意:未定义的索引:no_lokasi inC: 第14行上的''examplep''htdocs''inventory''pages''report.php

注意:未定义的索引:nama_lokasi inC: ''axamplep''htdocs''inventory''pages''report.php,第15行

注意:未定义的索引:中的keterangan_locasiC: ''axamplep''htdocs''inventory''pages''report.php,第16行

注意:未定义的索引:no_lokasi inC: 第14行上的''examplep''htdocs''inventory''pages''report.php

注意:未定义的索引:nama_lokasi inC: ''axamplep''htdocs''inventory''pages''report.php,第15行

这是我的代码:

<?php
    if($_SESSION["role"]!=1){
        header('location:login.php');
    }
    else {
        require_once dirname(__FILE__) . ''..'bower_components'phpexcel'Classes'PHPExcel.php';
        if(isset($_POST["submit"])){
            $objPHPExcel = new PHPExcel();
            $objWorksheet = $objPHPExcel->setActiveSheetIndex(0);
            $result = mysql_query("SELECT * FROM lokasi",$conn);
            $rowCount= 1;
            while($row=mysql_fetch_row($result)){
                $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row['no_lokasi']); 
                $objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row['nama_lokasi']);
                $objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, $row['keterangan_lokasi']);             
                $rowCount++; 
            }
            $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); 
            $objWriter->save('some_excel_file.xlsx'); 
        }
?>      
        <div class="row">
            <div class="col-lg-12">
                <h1 class="page-header">Print Preview</h1>
            </div>
        </div>
        <div class="row">
            <div class="col-lg-12">
                <div class="panel panel-default">
                    <div class="panel-body">
                        <div class="dataTable_wrapper">
                            <table class="table table-striped table-bordered table-hover" id="">
                                <thead>
                                    <tr>
                                        <center>
                                            <th>Nama Lokasi</th>
                                            <th>Keterangan</th>
                                            <th>Action</th>
                                        </center>
                                    </tr>
                                </thead>
                                <tbody>
                                <?php
                                    $result = mysql_query('SELECT * from lokasi');
                                    while($list = mysql_fetch_row($result)){
                                        echo'
                                            <tr class="odd gradeA">
                                                <td>'.$list[0].'</td>
                                                <td>'.$list[1].'</td>
                                                <td>'.$list[2].'</td>     
                                            </tr>           
                                        ';
                                    }
                                ?>                                             
                                </tbody>
                            </table>
                        </div>
                        <div class="row">
                            <div class="col-lg-6">
                                <form role="form" method="post">
                                    <button type="submit" class="btn btn-primary" name="submit">Submit</button>
                                </form>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
<?php 
    };
?>

您正在使用mysql_fetch_row来获取结果,并且您正在像以下一样进行索引

while($row=mysql_fetch_row($result)){
                $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row['no_lokasi']); 
                $objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row['nama_lokasi']);
                $objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, $row['keterangan_lokasi']);             
                $rowCount++; 
}

将其更改为

while($row=mysql_fetch_row($result)){
                $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row[0]); // to corresponding row indexes
                $objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row[1]);
                $objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, $row[2]);             
                $rowCount++; 
}

因为函数mysql_fetch_row()从结果集中获取一行,并将其作为枚举数组返回。