【问题标题】:How do I extract from WordPress database to MS Excel?如何从 WordPress 数据库中提取到 MS Excel?
【发布时间】:2012-11-01 10:41:30
【问题描述】:

我正在尝试将数据添加到从 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文件。请检查并告诉我。

【问题讨论】:

  • 您正在回显 $xls_file,但我看不到您在哪里填充该变量?
  • 我不太熟悉 PHP 中的 xls 格式生成,但我建议将文件保存为 .csv 格式,可以在任何电子表格软件中打开。
  • 回显 before 标题?
  • 回显一个不存在的变量($xls_file);一个 ob_clean() 来丢弃你之前回显的所有内容......难怪你会得到一个空白页

标签: php database wordpress export-to-excel


【解决方案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();
}

【讨论】:

  • 非常感谢,我只是郁闷自己做错了。
【解决方案2】:

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

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

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

【讨论】:

  • 如果这不是你将要自动化或定期做的事情,这是一个很好的解决方案!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-03
  • 1970-01-01
  • 1970-01-01
  • 2012-02-12
  • 2018-05-30
  • 1970-01-01
相关资源
最近更新 更多