簡體   English   中英

PHP Excel Reader-編寫表

[英]PHP Excel Reader - Writing Tables

大家好,我是PHP的新手,正在嘗試自我學習該語言。 現在,我正在嘗試使用純PHP實現一些功能,以便在瀏覽器上顯示Excel文檔。 我正在使用PHP Excel Reader讀取文檔,但不知為何它們沒有顯示。

盡管我可以自己進行調試和研究,看看是否有錯誤消息告訴我是哪條線引起了錯誤,但是沒有,我現在面臨的問題是

  1. 表格未顯示
  2. 沒有來自Apache的任何錯誤消息

我正在努力實現的目標:

  • 使用PHP Excel Reader在瀏覽器上以表格格式顯示Excel電子表格
  • 檢查.xls文檔中有多少張工作表,獲取工作表名稱並相應顯示按鈕數量
  • 這些按鈕必須能夠使用戶在一個文檔的不同頁之間移動

現在,我能夠獲得用於計算工作表數量的代碼,並正確顯示其名稱和按鈕,但仍然無法顯示相應的表格。

我已經嘗試了多種方法來根據文檔解決此問題,但無濟於事。

這是我當前的代碼:

example.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;
}

changeSheet.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的庫文件,我認為這不會引起問題。

我再次感謝你們花時間閱讀我的問題。 那么出了什么問題? 是什么導致表格無法顯示?

看來您的Excel_Reader版本不支持“ :: dump()”。

看起來您必須自己遍歷工作表,行和列。

嘗試var_dump($ data)看看里面有什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM