我正在尝试将数据添加到从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文件。请检查并告诉我。
答案 0 :(得分:1)
更一般的建议,而不是编码问题的解决方案:从代码创建HTML表格文件,然后在Excel中打开它进行转换。这样做可以让您更好地了解代码的内容:您可以添加var_dumps或者像普通网页一样调试它。
拥有一个html表也很有用,因为excel在将其转换为XLS文件方面效果很好。
HTML文件运行良好后,您可以对代码应用必要的格式/标题,以便从头开始创建xls文件。
答案 1 :(得分: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();
}