闲来无事突然冒出一个想法,由于工作原因,服务器每天会自动生成一个excel文件,如果可以通过php来读取,就可以每天定时更新excel,通过浏览器即可查询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文件进行更新