偶是菜鸟,我现在要用php实现这么一个功能:用户点击按钮后,把页面上的表格以excel文件的形式打开或者弹出下载对话框
之前用的JavaScript在客户端实现的直接打开到excel当中,在服务器上面点击可以打开excel,但是在客户端点击没有反应
我查了下,说是客户端执行有可能收客户端浏览器或者机器配置的限制,最好在服务器端实现,在客户端下载,各位高手能否指点一下啊,最好有代码,谢谢
之前用的JavaScript在客户端实现的直接打开到excel当中,在服务器上面点击可以打开excel,但是在客户端点击没有反应
我查了下,说是客户端执行有可能收客户端浏览器或者机器配置的限制,最好在服务器端实现,在客户端下载,各位高手能否指点一下啊,最好有代码,谢谢
$file_type = "vnd.ms-excel";
$file_ending = "xls";
header("Content-Type: application/$file_type; charset=UTF-8");
header("Content-Disposition : attachment; filename=emailaction.$file_ending");
header("Pragma: no-cache");
header("Expires: 0");
$sep = "\t";
echo "您的字段1\t";
echo "您的字段2\t";
echo "您的字段3\t";
.
.
. print("\n");
$i = 0;
while($row = mysql_fetch_row($res)) {
$schema_insert = "";
for($j=0; $j<$len;$j++) {
if(!isset($row[$j]))
$schema_insert .= "NULL".$sep;
elseif ($row[$j] != "")
$schema_insert .= "$row[$j]".$sep;
else
$schema_insert .= "".$sep;
}
$schema_insert = str_replace($sep."$", "", $schema_insert);
$schema_insert .= "\t";
print(trim($schema_insert));
print "\n";
$i++;
}
return (true);
}
用这段程序可以!
function xlsBOF() {
echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}
function xlsEOF() {
echo pack("ss", 0x0A, 0x00);
return;
}
function xlsWriteNumber($Row, $Col, $Value) {
echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo pack("d", $Value);
return;
}
function xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
echo $Value;
return;
}
function Create_Xls_File($Data,$filename) {
header("Cache-Control: public");
header ('Content-type: application/vnd.ms-excel');
header ("Content-Disposition: attachment; filename=".$filename.".xls"); xlsBOF();
for($i=0;$i<count($Data);$i++){
for($j=0;$j<count($Data[$i]);$j++){
$value=iconv('utf-8','Shift-JIS',$Data[$i][$j]);
xlsWriteLabel($i,$j,$value);
}
}
xlsEOF();
}
$data 是要导出的数据,数组形式
$filename 是要到处的文件名