-1

だから私はインターネットから降りたこのコードをここに持っています。それはmySQLデータベースからExcelファイルにデータをエクスポートすることになっています。問題は、これをどのようにトリガーするべきかということです。これにはグラフィカルな側面はなく、スクリプトをトリガーするボタンも何もありません。どうすればそれを機能させることができますか?

<?PHP
  // Original PHP code by Chirp Internet: www.chirp.com.au
  // Please acknowledge use of this code by including this header.

  include('config.php');
  function cleanData(&$str)
  {
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
  }

  // filename for download
  $filename = "website_data_" . date('Ymd') . ".xls";

  header("Content-Disposition: attachment; filename=\"$filename\"");
  header("Content-Type: application/vnd.ms-excel");

  $flag = false;
  $result = pg_query("SELECT * FROM norse5_proov ORDER BY id") or die('Query failed!');
  while(false !== ($row = pg_fetch_assoc($result))) {
    if(!$flag) {
      // display field/column names as first row
      echo implode("\t", array_keys($row)) . "\r\n";
      $flag = true;
    }
    array_walk($row, 'cleanData');
    echo implode("\t", array_values($row)) . "\r\n";
  }
  exit;
?>
4

1 に答える 1

1

これは、商用アプリで機能するコードです。

if($_REQUEST["EXCEL"]){
   header("Content-Type: application/excel");
   header("Content-Disposition: attachment; FileName=assets.xls");
   header("Cache-Control: private");
   header("Content-Length: ".strLen($data));
   echo $data;
   exit;
}

$data はタブ区切りのテキストですが、Excel ヘッダーは Excel を開いてテキストをインポートします

于 2013-03-11T10:18:57.223 に答える