怎么解决从php导出的excel文件打开时弹出文件格式不一致问题(还有无边框显示问题,见“问题补充”)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么解决从php导出的excel文件打开时弹出文件格式不一致问题(还有无边框显示问题,见“问题补充”)相关的知识,希望对你有一定的参考价值。

代码:
<?php
$filename="excel.xls";//定义一个excel文件
header("Content-Type: application/vnd.ms-execl");
header("Content-Type: application/vnd.ms-excel; charset=gb2312");
header("Content-Disposition: attachment; filename=$filename");
header("Pragma: no-cache");
header("Expires: 0");
include "config.php";
mysql_select_db('umi_statistic',$conn);
$id=$_GET['id'];
$arr=mysql_query("select * from user_title where id='$id'",$conn);
$result=mysql_fetch_array($arr);
$table_name=$result['table_name'];
$n=$result['table_num'];
$sql=mysql_query("select * from $table_name");
echo "<table style='font-size:16px;'>";
while($row=mysql_fetch_array($sql))

echo"<tr>";
for($i=1;$i<=$n;$i++)

echo "<td>$row[$i]</td>";
//echo iconv("utf-8", "gb2312", $row[$i])."\t";

echo "</tr>";

echo"</table>";
mysql_free_result($sql);
mysql_free_result($arr);
mysql_close($conn);
弹出提示:

背景全白色:

我想要这种效果:即表格边框能正常显示

已经在网上找过资料,没找到合适的方法。phpExcel有点复杂,想偷懒用上面的方法实现,望帮忙解决~

没有你的数据,做了个测试,可以导出,但是还会报你说的错误,但是不影响内容,应该是导出的文件并不是excel格式的,只是命名成excel文件而已吧。下面代码可以解决边框问题:
<?php
$filename="excel.xls";//定义一个excel文件
header("Content-Type: application/vnd.ms-execl");
header("Content-Type: application/vnd.ms-excel; charset=gb2312");
header("Content-Disposition: attachment; filename=$filename");
header("Pragma: no-cache");
header("Expires: 0");
$testArr = array("test1"=>array('test','test','test'),"test2"=>array('test2','test2','test2'));
foreach($testArr as $val)
foreach( $val as $v )
echo $v."\t";

echo "\n";

?>
参考技术A 建议使用phpexcel插件,简单易用,还可以设置各种格式追问

我试着用了一下,不是很方便啊。。。

追答

网上有phpexcel的例子代码,摘下来修改下就可以用了,设置边框,字体,背景等等都很方便啊

追问

我看了的,也下下来用了。有些功能还是要去看看文档才能用。。。我想就上面的代码实现导出,不用phpexcel。

java编程将若干个excel文件合并成一个csv文件,文件变大的很多,怎么解决

java编程将若干个excel文件合并成一个csv文件,但是一个csv占用空间远远大于若干个excel文件的总和,我是直接使用jxl和opencsv的jar包进行合并,是不是因为所有数据都变成了字符串格式的原因,怎么解决呢

运行Adobe Acrobat,点击工具“创建PDF”,弹出的菜单上有“从文件”、“从多个文件”、“从网页”、“从扫描仪”等选项。选择“从多个文件”,就会弹出“合并文件”对话框,在这里可以添加多个源文件,也可以添加包含一批源文件的文件夹,你还能够调整这些文件的排列次序。这些源文件可以是PDF文档。 参考技术A .csv文件从本质上说是纯文本的文件,没有压缩,所以一般都比同内容的excel文件体积要大。

以上是关于怎么解决从php导出的excel文件打开时弹出文件格式不一致问题(还有无边框显示问题,见“问题补充”)的主要内容,如果未能解决你的问题,请参考以下文章

java导出excel 数据量过大 弹出excel很慢?怎么解决

VBA 如何读取具有打开时需要密码的excel

为啥将excel格式数据保存为csv格式时,开头为0的数据都把0丢失了呢??

excel文件打开时 vba满足条件弹窗提醒?

Excel电子表格保存后,重新打开时原先设置的格式都没了?

java导出excel,excel打不开,报文件格式无效,怎么解决!