2013-02-28 41 views
-2

我使用PHP脚本从MySQL数据库中的数据导出到Excel工作表.. 当您打开Excel文件,我面临着以下错误.. 发现错误不可读的内容codenovssem.xls 是否要恢复此工作簿的内容? 如果您信任该工作簿的源单击是...... 当我点击是的,它显示这样的“无法读取文件。” 我用下面的代码出口数据从MySQL到Excel

$result=mysql_query("select * from t3diff ");//retrieving records from database 
header("Pragma: public"); 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Content-Type: application/force-download"); 
header("Content-Type: application/x-msexcel;charset=utf-8"); 
header("Content-Disposition: attachment;filename=codenovsem.xls "); 
header("Content-Transfer-Encoding: binary "); 
xlsBOF(); 
/* 
Make a top line on your excel sheet at line 1 (starting at 0). 
The first number is the row number and the second number is the column, 
both are start  at '0' 
*/ 
xlsWriteLabel(0,0,"student Marks"); 
// Make column labels. (at line 3) 
xlsWriteLabel(2,0,"codeno"); 
xlsWriteLabel(2,1,"na"); 
xlsWriteLabel(2,2,"marks"); 
xlsWriteLabel(2,3,"subname"); 
xlsWriteLabel(2,4,"subcode"); 
xlsWriteLabel(2,5,"branch"); 
xlsWriteLabel(2,6,"year"); 
xlsWriteLabel(2,7,"sem"); 
xlsWriteLabel(2,8,"setno"); 
xlsWriteLabel(2,9,"bundleno"); 
xlsWriteLabel(2,10,"afor"); 
xlsWriteLabel(2,11,"oname"); 
xlsWriteLabel(2,12,"valdate"); 
xlsWriteLabel(2,13,"valtime"); 
$xlsRow = 3; 
// Put data records from mysql by while loop. 
while($row=mysql_fetch_array($result)){ 
xlsWriteNumber($xlsRow,0,$row['codeno']); 
xlsWriteNumber($xlsRow,1,$row['na']); 
xlsWriteNumber($xlsRow,2,$row['marks']); 
xlsWriteNumber($xlsRow,3,$row['subname']); 
xlsWriteNumber($xlsRow,4,$row['subcode']); 
xlsWriteNumber($xlsRow,5,$row['branch']); 
xlsWriteNumber($xlsRow,6,$row['year']); 
xlsWriteNumber($xlsRow,7,$row['sem']); 
xlsWriteNumber($xlsRow,8,$row['setno']); 
xlsWriteNumber($xlsRow,9,$row['bundleno']); 
xlsWriteNumber($xlsRow,10,$row['afor']); 
xlsWriteNumber($xlsRow,11,$row['oname']); 
xlsWriteNumber($xlsRow,12,$row['valdate']); 
xlsWriteNumber($xlsRow,13,$row['valtime']); 
$xlsRow++; 
} 
xlsEOF();//End of Excel file 
exit(); 
+0

打开记事本中的xls文件,看看该文件中是否有PHP错误/警告。如果没有,则提交错误报告。 – 2013-02-28 10:44:57

回答

0

我也遇到过几天前同样的问题。其实你不会输出一个真正的.xls文件。它仍然是一个具有.xls扩展名的文本文件。

所以我建议你使用http://phpexcel.codeplex.com/

它是100%成功创建XLS文件。还有一个惊人的文档。