0

wordpressデータベースから抽出されたExcelファイルにデータを追加しようとしていますが、実際にはデータベースからExcelファイルにデータ(タグ)をエクスポートしようとしています。そして、コードを書き留めますが、生成ボタンをクリックすると。これにより、空のファイルが生成されます。

私が間違っていることを確認してください。

コードは以下のとおりです。

if (check_admin_referer('tag-export')) 
{
    $blogname = str_replace(" ", "", get_option('blogname'));
    $date = date("m-d-Y");
    $xls_file_name = $blogname."-exported-tags-".$date;

    $tags = get_terms( 'post_tag' , 'hide_empty=0' );
    $count = count($tags);

    if ( $count > 0 )
    {
        echo 'name' . "\t" . 'slug' . "\n";

        foreach ( $tags as $tag ) 
        {
            echo $tag->name . "\t" . $tag->slug . "\n";
        }
    }

    ob_clean();
    echo $xls_file;

    header( "Content-Type: application/vnd.ms-excel" );
    header( "Content-disposition: attachment; filename=$xls_file_name.xls" );
    exit();
}

上記のコードは、Excel ファイルにデータを書き込んでいません。確認してお知らせください。

4

2 に答える 2

1

既存のコードに基づいて:

if (check_admin_referer('tag-export')) 
{
    $blogname = str_replace(" ", "", get_option('blogname'));
    $date = date("m-d-Y");
    $xls_file_name = $blogname."-exported-tags-".$date;

    $tags = get_terms( 'post_tag' , 'hide_empty=0' );
    $count = count($tags);

    $xls_file = '';
    if ( $count > 0 )
    {
        $xls_file .= 'name' . "\t" . 'slug' . "\n";

        foreach ( $tags as $tag ) 
        {
            $xls_file .= $tag->name . "\t" . $tag->slug . "\n";
        }
    }

    ob_clean();
    header( "Content-Type: application/vnd.ms-excel" );
    header( "Content-disposition: attachment; filename=$xls_file_name.xls" );

    echo $xls_file;

    exit();
}
于 2012-11-01T11:03:10.203 に答える
1

コーディングの問題の解決策ではなく、より一般的な提案: コードから HTML テーブル ファイルを作成し、変換のために Excel で開きます。これにより、コードで何が起こっているかをよりよく理解できるようになります。var_dumps を追加するか、通常の Web ページのようにデバッグするだけです。

Excel はそれを XLS ファイルに変換するのに非常にうまく機能するため、html テーブルを持つことも役立ちます。

HTML ファイルが正常に機能したら、必要な書式設定/ヘッダーをコードに適用して、xls ファイルを最初から作成できます。

于 2012-11-01T10:45:05.603 に答える