我想将名为"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()从结果集中获取一行,并将其作为枚举数组返回。