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

一个更一般的建议,而不是解决您的编码问题:从代码创建一个 HTML 表格文件,然后在 Excel 中打开它进行转换。这样做可以让您更好地了解您的代码发生了什么:您可以添加 var_dumps 或像普通网页一样简单地调试它。

拥有一个 html 表也很有用,因为 excel 在将其转换为 XLS 文件时效果很好。

在您的 HTML 文件运行良好后,您可以对代码应用必要的格式/标题,以便从头开始创建 xls 文件。

于 2012-11-01T10:45:05.603 回答
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 回答