嘿伙计们,我是 PHP 新手,正在尝试自学这种语言。现在我正在尝试使用纯 PHP 来实现一些东西,以在浏览器上显示 Excel 文档。我正在使用 PHP Excel Reader 阅读文档,但不知何故它们没有显示。
虽然我可以自己调试和研究是否有错误消息告诉我哪一行导致错误,但是没有,我现在面临的问题是
- 表格未显示
- 没有来自 apache 的任何类型的错误消息
我想要达到的目标:
- 使用 PHP Excel Reader 在浏览器上以表格格式显示 Excel 电子表格
- 检查 .xls 文档中有多少工作表,获取工作表名称并相应地显示按钮数量
- 按钮必须能够允许用户在一个文档的不同页面之间遍历
现在我可以获取代码来计算张数并正确显示其名称和按钮,但仍然无法显示相应的表格。
我根据文档尝试了多种方法来解决此问题,但无济于事。
这是我当前的代码:
例子.php
<?php
error_reporting(E_ALL ^ E_NOTICE);
require_once 'reader.php';
$data = new Spreadsheet_Excel_Reader("test.xls");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="scripts/excel.js"></script>
<style>
table.excel {
border-style:ridge;
border-width:1;
border-collapse:collapse;
font-family:sans-serif;
font-size:12px;
}
table.excel thead th, table.excel tbody th {
background:#CCCCCC;
border-style:ridge;
border-width:1;
text-align: center;
vertical-align:bottom;
}
table.excel tbody th {
text-align:center;
width:20px;
}
table.excel tbody td {
vertical-align:bottom;
}
.clearfloat {
clear: both;
}
table.excel tbody td {
padding: 0 3px;
border: 1px solid #EEEEEE;
}
table.excel tname {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: #000000;
padding-right: 10px;
padding-left: 10px;
}
.sheetnames {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
text-transform: uppercase;
color: #000000;
padding-right: 20px;
float: left;
padding-bottom: 20px;
}
</style>
</head>
<body onLoad="changeSheet(0)">
<form action="<?php echo $editFormAction; ?>" method="post" name="worksheet">
<?php
$i = -1;
for($s=0; $s<count($data->sheets)-1; $s++) {
$i++;
?>
<div class="sheetnames">
<input name="sheet" type="button" value="<?php echo $data->boundsheets[$i]['name'];?>" onClick="changeSheet(<?php echo $i ?>)">
</div>
<?php
}
?>
<div class="clearfloat"></div>
<div id="test"></div>
</form>
</body>
</html>
excel.js
// JavaScript Document
var xmlHttp
function changeSheet(n)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="script pages/changeSheet.php"
url=url+"?q="+n
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("test").innerHTML=xmlHttp.responseText
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
更改表.php
<?php
error_reporting(E_ALL ^ E_NOTICE);
require_once 'reader.php';
$data = new Spreadsheet_Excel_Reader("test.xls");
$q = $_GET['q'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
echo $data->dump(true,false, $sheet=$q);
?>
</body>
</html>
与代码一起附加的是 PHP Excel Reader 的库文件,我认为它不会导致问题。
再次感谢你们花时间阅读我的问题。那么出了什么问题呢?是什么导致表格不显示?