闲来无事突然冒出一个想法,由于工作原因,服务器每天会自动生成一个excel文件,如果可以通过php来读取,就可以每天定时更新excel,通过浏览器即可查询excel中的数据
效果图:
实现方法是使用PHPExcel1.8版本的类,下载地址:https://github.com/PHPOffice/PHPExcel
官方文档中有很多例子,大家可以研究学习下
1、上传PHPExcel目录&PHPExcel.php到网站目录
实现代码:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>虚拟机信息查询</title> </head> <body> <h1 style="text-align:center">测试 VMinfo:</h1> <h4 style="margin-left:238px">请通过Ctrl+F进行关键字搜索</h4> <?php /** Include path **/ set_include_path(get_include_path() . PATH_SEPARATOR . '../../../vminfo/'); /** PHPExcel_IOFactory */ include 'PHPExcel/IOFactory.php'; $inputFileName = './vminfo.xlsx'; $excelReader = PHPExcel_IOFactory::createReaderForFile($inputFileName); $excelObj = $excelReader->load($inputFileName); $worksheet = $excelObj->getSheet(0); $lastRow = $worksheet->getHighestRow(); echo "<table align=center valign=middle border=1 cellspacing=0 cellpadding=0>"; for ($row = 1; $row <= $lastRow; $row++) { echo "<tr><td>"; echo $worksheet->getCell('A'.$row)->getValue(); echo "</td><td>"; echo $worksheet->getCell('B'.$row)->getValue(); echo "</td><td>"; echo $worksheet->getCell('C'.$row)->getValue(); echo "</td><td>"; echo $worksheet->getCell('D'.$row)->getFormattedValue();/**格式化日期值*/ echo "</td><tr>"; } echo "</table>"; ?> <body> </html>
其实还有很多内容没有研究,不过已经够我使用了~
2、附Windows向Linux目录复制文件脚本:
- 下载PSCP,解压到system32目录下
- 新建.bat批处理文件
PSCP -pw "password" d:\file [email protected]:/var/www/html/vminfo
- 新建计划任务,定时对网站目录下的excel文件进行更新