phpExcel导出没有给出值

时间:2016-11-14 20:39:43

标签: phpexcel

我正在尝试使用phpExcel库导出excel中的搜索结果,但我得到的只是som字符块,但不是我的结果。我无法理解,我做错了什么。

这是我的代码:

<?php
include_once 'partials/headers.php';
?>
<?php
if(isset($_POST['search'])) {
      $search = "%".$_POST['search_text']."%";

        //validate the token
        if(!empty($search)) {
            //check if user exist in the database
                $sqlQuery = "SELECT * FROM pers_dat_sanem WHERE par_ko_sniedz LIKE :search"; 
                $statement = $db->prepare($sqlQuery);
                $statement->execute(array(':search'=> $search));   

                function getRow($statement) {
                    return $statement->fetch();
                }


        } 
}
?>
<br>
<form action="search.php" method="post">
                <div class="form-group">  
                     <div class="input-group">  
                          <span class="input-group-addon">Meklēt</span>  
                          <input type="text" name="search_text" id="search_text" placeholder="<?php if(isset ($_POST['search_text'])) {echo ($_POST['search_text']);} ?>" class="form-control" value="" />  
                     </div>  
                </div> 
                <div align="center">
                <button type="submit" name="search" class="btn btn-default" value="search">Meklēt</button>
            </div>
</form>
<div class="table-responsive" id="nod_dat">
 <?php if(isset($statement)) { $statement->rowCount() > 0 ?> 
    <h4 align="center">Saņemto personas datu meklēšanas rezultāti</h4>
  <table id="result_np" class="table table bordered">
      <tr>  
                                    <th>Datu saņemšanas laiks</th>  
                                    <th>Persona kas sniedz datus</th>  
                                      <th>Personas datu sniedzēja adrese</th>
                                       <th>Persona kas saņem datus</th>
                                        <th>Persona par ko sniedz datus</th>
                                        <th>Saņemtie datu veidi</th>
                                        <th>Datu saņemšanas mērķis</th>

                               </tr>     
 <?php }; ?>

<?php if(isset($statement)) {while($row = getRow($statement)) :?>

                <tr>  
                     <td><?php echo $row["dat_san_laik"]; ?></td> 
                     <td><?php echo $row["pers_kas_dod"]; ?></td>
                     <td><?php echo $row["kas_dod_adrese"]; ?></td>
                     <td><?php echo $row["pers_kas_sanem"]; ?></td>
                      <td><?php echo $row["par_ko_sniedz"]; ?></td>
                       <td><?php echo $row["datu_veidi"]; ?></td>
                        <td><?php echo $row["datu_san_merk"]; ?></td>                
                </tr>          
<?php endwhile; ?>
  </table>
      <form method="post">
        <fieldset>
            <legend>Lejupielādēt rezultātu</legend>
            <p>
                <input type="submit" name="download" id="download" value="Lejupielādēt failu">
            </p>
        </fieldset>
    </form>
  <?php }; ?>
</div>
<?php
    if (isset($_POST['download'])) {
            require_once 'src/PHPExcel.php';
                try {
                    $sheet = new PHPExcel();
                        $sheet->getProperties()->setCreator('www.zemgale.lv/dvi')
                               ->setLastModifiedBy('www.zemgale.lv/dvi')
                               ->setTitle('Atrasto datu izdruka')
                               ->setKeywords('dati subjekts apstrāde');
                    $sheet->getDefaultStyle()->getAlignment()->setVertical(
                                PHPExcel_Style_Alignment::VERTICAL_TOP);
                    $sheet->getDefaultStyle()->getAlignment()->setHorizontal(
                PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $sheet->getDefaultStyle()->getFont()->setName('Arial');
        $sheet->getDefaultStyle()->getFont()->setSize(12);

                $sheet->setActiveSheetIndex(0);
        $activeSheet = $sheet->getActiveSheet();

        $activeSheet->getPageSetup()->setOrientation(
                PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE)
                ->setFitToWidth(1)
                ->setFitToHeight(0);
                $activeSheet->getHeaderFooter()->setOddHeader('&C&B&16' . 
                    $sheet->getProperties()->getTitle())
                    ->setOddFooter('&CPage &P of &N');

        // Set column headings
        $sheet->getActiveSheet()
                ->setCellValue('A1', 'Datu saņemšanas laiks')
                ->setCellValue('B1', 'Persona kas sniedz datus')
                ->setCellValue('C1', 'Personas datu sniedzēja adrese')
                ->setCellValue('D1', 'Persona kas saņem datus')
                ->setCellValue('E1', 'Persona par ko sniedz datus')
                ->setCellValue('F1', 'Saņemtie datu veidi')
                ->setCellValue('G1', 'Datu saņemšanas mērķis')
                ;



        // Populate individual cells with data        
       //column number, which we will be incrementing
$colnum=1;
foreach ($row as $value)
{
    $colnum++;
    $sheet->getActiveSheet()->SetCellValue('A'."$colnum", $value["dat_san_laik"]);
    $sheet->getActiveSheet()->SetCellValue('B'."$colnum", $value["pers_kas_dod"]);
    $sheet->getActiveSheet()->SetCellValue('C'."$colnum", $value["kas_dod_adrese"]);
    $sheet->getActiveSheet()->SetCellValue('D'."$colnum", $value["pers_kas_sanem"]);
    $sheet->getActiveSheet()->SetCellValue('E'."$colnum", $value["par_ko_sniedz"]);
    $sheet->getActiveSheet()->SetCellValue('F'."$colnum", $value["datu_veidi"]);
    $sheet->getActiveSheet()->SetCellValue('G'."$colnum", $value["datu_san_merk"]);
}      


        // Generate Excel file and download
        header('Content-Type: application/vnd.ms-excel;');
        header('Content-Disposition: attachment;filename="data.xls"');
        header('Cache-Control: max-age=0'); 

        $writer = PHPExcel_IOFactory::createWriter($sheet, 'Excel2007');
        $writer->save('php://output');
        exit;

    } catch (Exception $e) {
        $error = $e->getMessage();
    }
} 
?>

Excel只是给了一些看法: enter image description here

0 个答案:

没有答案