2016-07-20 19 views
0

データベースのExcelテーブルを取得するのに役立つコードが見つかりました。「日付」列以外のすべての列で正しく動作します。#######。SQLからExcelの日付形式

この「日付」列は、sqliteのDATETIME型です(デフォルトでは現在の日付(yyyy-mm-dd)が入力されます)。データはHTMLの入力型日付から取得されます。

ここに私のPHPのコードは次のとおりです。...あなたが自分自身を蹴るよ

<?php 
namespace Chirp; 
include "./_pdo.php"; 
$db_file = "./test.sqlite"; 
PDO_Connect("sqlite:$db_file"); 

$data = PDO_FetchAll("SELECT * FROM test"); 
    // Original PHP code by Chirp Internet: www.chirp.com.au 
    // Please acknowledge use of this code by including this header. 
function cleanData(&$str) 
    { 
    $str = preg_replace("/\t/", "\\t", $str); 
    $str = preg_replace("/\r?\n/", "\\n", $str); 
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"'; 
    } 

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

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

    $flag = false; 
    foreach($data as $row) { 
    if(!$flag) { 
     // display field/column names as first row 
     echo implode("\t", array_keys($row)) . "\n"; 
     $flag = true; 
    } 
    array_walk($row, __NAMESPACE__ . '\cleanData'); 
    echo implode("\t", array_values($row)) . "\n"; 
    } 

    exit; 
?> 

答えて

1

私は今、平和で休むことができるエクセル;-)

+1

で広い日付列を作ります – Xibition