2015-12-29 2 views
0

Cont на Excel cannot open the file created by XLSXWriterЭкспорт данных в файл первенствовать, созданный XLSXWriter (часть 2)

стол пользователя
enter image description here

test.php

<?php 
if(isset($_POST['submit2']) && ($_POST['submit2'] == 'Export')) 
{ 
    //db connection 
    $name = $_POST['name']; 
    $record = FindName($name); 

    if(count($record) > 0) 
    { 
     [?] 
    } 
} 
else 
{ 
?> 
    <form action="c.php" method="post"> 
     Name: <input type="text" name="name" /> 
     <input type="submit" name="submit2" value="Export" /> 
    </form> 
<?php 
} 

function FindName($name) 
{ 
    $query = "SELECT * 
       FROM user 
       WHERE Name like '".$name."%'"; 
    $result = mysqli_query($dbc, $query); 

    $record = array(); 
    while($row = mysqli_fetch_array($result)) 
    { 
     $record[] = $row; 
    } 
    return $record; 
} 
?> 

download.php

<?php 
include('./PHP_XLSXWriter-master/xlsxwriter.class.php'); 

ini_set('display_errors', 0); 
ini_set('log_errors', 1); 
error_reporting(E_ALL & ~E_NOTICE); 

$filename = "example.xlsx"; 
header('Content-disposition: attachment; filename="'.XLSXWriter::sanitize_filename($filename).'"'); 
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); 
header('Content-Transfer-Encoding: binary'); 
header('Cache-Control: must-revalidate'); 
header('Pragma: public'); 

$header = array(
    'ID'=>'string', 
    'Name'=>'string', 
    'Age'=>'string', 
    'Gender'=>'string', 
); 

for($i = 0; $i < count($record); $i++) 
{ 
    $data[$i] = array($record[$i]['ID'],$record[$i]['Name'],$record[$i]['Age'],$record[$i]['Gender']); 
} 

$writer = new XLSXWriter(); 
$writer->writeSheet($data,'Sheet1',$header); 
$writer->writeToStdOut(); 
?> 

Предположим, что я введите Wong в текстовое поле и нажмите кнопку «Экспорт».
После нажатия кнопки экспорта найдите имя, содержащее слово Wong, и экспортируйте данные в excel.

Мой вопрос в том, как передать переменную $ record в файл download.php, чтобы экспортировать данные в файл excel на [?]? Кто-нибудь может мне помочь?

ответ

1

Вместо вашего [?], require файла.

if(count($record) > 0) 
{ 
    require "PATH_TO/download.php"; 
    exit; // <- IMPORTANT to add exit 
      // to not have in download response html data from test.php 
} 

как переменная $record уже определена ($record = FindName($name);), что переменная может быть использована в download.php

 Смежные вопросы

  • Нет связанных вопросов^_^