php ado excel,冷门的:php通过ado打开xls文件并可生成csv供下载

本帖最后由 djyjysxxs 于 2012-5-31 16:26 编辑

整个冷门的,也许有朋友用得上。php通过adodb打开excel显示在当前页面,当需要下载时,点按钮就可以以csv文件格式下载了。

//通过adodb打开excel的文件xls,显示在当前页面上,并提供下载按钮,点该按钮则生成csv文件供用户下载或直接打开。

//在win7+iis+php下通过

$conn=new com("adodb.connection") or die("cannot start adodb.connection");

$conn->open("provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=".realpath("test.xls"));//默认为当前路径下的test.xls文件

$rs=new com("adodb.recordset") or die("ado recordset failed");

$query="select * from [sheet1$] where zxdm=811";//数据存放在表sheet1中

$rs->open($query,$conn,1,1);

$fcount=$rs->fields->count;

//以下生成csv文件供下载

if($_POST['download']){

header('content-type:application/vnd.ms-excel');

header('content-disposition:attachment;filename="downloaded.csv"');

for ($i=0;$i

echo "\t".$rs->fields[$i]->name.",";

}

echo "\n";

while (!$rs->eof){

for ($i=0;$i

echo "\t".$rs->fields[$i]->value.",";

}

echo "\n";

$rs->movenext;

}

exit();

}

//csv文件生成结束

echo "

";//下载按钮

//以下将数据显示在当前页面上

echo "

//生成表头

for ($i=0;$i

echo "

".$rs->fields[$i]->name."";

}

echo "

";

//生成数据

while (!$rs->eof){

echo "

";

for ($i=0;$i

echo "

".$rs->fields[$i]->value."";

}

echo "

";

$rs->movenext;

}

echo "

";

//生成数据结束

$rs->close();

$conn->close();

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值