做个小东东,需要把筛选xlsx的某个sheet中的部分内容读显示在页面上,同时增加一个下载按钮,点该按钮即可将筛选显示出来的内容生成一个csv文件下载下来(不能下整个xlsx文件,因为面里还有其他不该他看到的东西)。
因没有其他东西,所以就使用pdo方式打开xlsx文件,如同打开数据库一样使用。
生成csv文件时前后注意清空缓冲区,否则会在前面或后面增加出一些html的代码。
经测试以下可以实现(个人笔记本上win10中安装的iis,PHP7.4下通过),完整代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=Content-type content="text/html; charset=gb2312">
</head>
<body>
<?php
//用pdo连接xlsx
try{
$xl = new PDO("odbc:driver={microsoft excel driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};dbq=" . realpath('cj.xlsx'));
} catch (Exception $e) {
echo "Failed:".$e->getMessage();
}
$rs=$xl->prepare("select * from [Sheet1$]" );
$rs-&