首页 > php开发 > php ExcelReader 读取Excel类

php ExcelReader 读取Excel类

这是一款开源的php代码,ExcelReader是专业地excel表进行读写操作的,下面我们来看一款ExcelReader读取phprm.com.xls工作表实例吧,代码如下:

<?php
$allow_url_override = 1; // set to 0 to not allow changed via post or get
if (!$allow_url_override || !isset($file_to_include)) {
    $file_to_include = "111cn.net.xls";
}
if (!$allow_url_override || !isset($max_rows)) {
    $max_rows = 0; //use 0 for no max
    
}
if (!$allow_url_override || !isset($max_cols)) {
    $max_cols = 5; //use 0 for no max
    
}
if (!$allow_url_override || !isset($debug)) {
    $debug = 0; //1 for on 0 for off
    
}
if (!$allow_url_override || !isset($force_nobr)) {
    $force_nobr = 1; //force the info in cells not to wrap unless stated explicitly (newline)
    
}
require_once 'www.phprm.com/reader.php';
$data = new spreadsheet_excel_reader();
$data->setoutputencoding('cpa25a');
$data->read($file_to_include);
error_reporting(e_all ^ e_notice);
echo " 
<style> 
.table_data 
{ 
 border-style:ridge; 
 border-width:1; 
} 
.tab_base 
{ 
 background:#c5d0dd; 
 font-weight:bold; 
 border-style:ridge; 
 border-width:1; 
 cursor:pointer; 
} 
.table_sub_heading 
{ 
 background:#cccccc; 
 font-weight:bold; 
 border-style:ridge; 
 border-width:1; 
} 
.table_body 
{ 
 background:#f0f0f0; 
 font-wieght:normal; 
 font-size:12; 
 font-family:sans-serif; 
 border-style:ridge; 
 border-width:1; 
 border-spacing: 0px; 
 border-collaps教程e: collapse; 
} 
.tab_loaded 
{ 
 background:#222222; 
 color:white; 
 font-weight:bold; 
 border-style:groove; 
 border-width:1; 
 cursor:pointer; 
} 
</style> 
";
function make_alpha_from_numbers($number) {
    $numeric = "abcdefghijklmnopqrstuvwxyz";
    if ($number < strlen($numeric)) {
        return $numeric[$number];
    } else {
        $dev_by = floor($number / strlen($numeric));
        return "" . make_alpha_from_numbers($dev_by - 1) . make_alpha_from_numbers($number - ($dev_by * strlen($numeric)));
    }
}
echo "<script language='javascript'> 
var sheet_html = array(); ";
for ($sheet = 0; $sheet < count($data->sheets); $sheet++) {
    $table_output[$sheet].= "<table class='table_body'> 
 <tr> 
  <td>&nbsp;</td>";
    for ($i = 0; $i < $data->sheets[$sheet]['numcols'] && ($i <= $max_cols || $max_cols == 0); $i++) {
        $table_output[$sheet].= "<td class='table_sub_heading' align=center>" . make_alpha_from_numbers($i) . "</td>";
    }
    for ($row = 1; $row <= $data->sheets[$sheet]['numrows'] && ($row <= $max_rows || $max_rows == 0); $row++) {
        $table_output[$sheet].= "<tr><td class='table_sub_heading'>" . $row . "</td>";
        for ($col = 1; $col <= $data->sheets[$sheet]['numcols'] && ($col <= $max_cols || $max_cols == 0); $col++) {
            if ($data->sheets[$sheet]['cellsinfo'][$row][$col]['colspan'] >= 1 && $data->sheets[$sheet]['cellsinfo'][$row][$col]['rowspan'] >= 1) {
                $this_cell_colspan = " colspan=" . $data->sheets[$sheet]['cellsinfo'][$row][$col]['colspan'];
                $this_cell_rowspan = " rowspan=" . $data->sheets[$sheet]['cellsinfo'][$row][$col]['rowspan'];
                for ($i = 1; $i < $data->sheets[$sheet]['cellsinfo'][$row][$col]['colspan']; $i++) {
                    $data->sheets[$sheet]['cellsinfo'][$row][$col + $i]['dontprint'] = 1;
                }
                for ($i = 1; $i < $data->sheets[$sheet]['cellsinfo'][$row][$col]['rowspan']; $i++) {
                    for ($j = 0; $j < $data->sheets[$sheet]['cellsinfo'][$row][$col]['colspan']; $j++) {
                        $data->sheets[$sheet]['cellsinfo'][$row + $i][$col + $j]['dontprint'] = 1;
                    }
                }
            } else if ($data->sheets[$sheet]['cellsinfo'][$row][$col]['colspan'] >= 1) {
                $this_cell_colspan = " colspan=" . $data->sheets[$sheet]['cellsinfo'][$row][$col]['colspan'];
                $this_cell_rowspan = "";
                for ($i = 1; $i < $data->sheets[$sheet]['cellsinfo'][$row][$col]['colspan']; $i++) {
                    $data->sheets[$sheet]['cellsinfo'][$row][$col + $i]['dontprint'] = 1;
                }
            } else if ($data->sheets[$sheet]['cellsinfo'][$row][$col]['rowspan'] >= 1) {
                $this_cell_colspan = "";
                $this_cell_rowspan = " rowspan=" . $data->sheets[$sheet]['cellsinfo'][$row][$col]['rowspan'];
                for ($i = 1; $i < $data->sheets[$sheet]['cellsinfo'][$row][$col]['rowspan']; $i++) {
                    $data->sheets[$sheet]['cellsinfo'][$row + $i][$col]['dontprint'] = 1;
                }
            } else {
                $this_cell_colspan = "";
                $this_cell_rowspan = "";
            }
            if (!($data->sheets[$sheet]['cellsinfo'][$row][$col]['dontprint'])) {
                $table_output[$sheet].= "<td class='table_data' $this_cell_colspan $this_cell_rowspan>&nbsp;";
                if ($force_nobr) {
                    $table_output[$sheet].= "<nobr>";
                }
                $table_output[$sheet].= nl2br(htmlentities($data->sheets[$sheet]['cells'][$row][$col]));
                if ($force_nobr) {
                    $table_output[$sheet].= "</nobr>";
                }
                $table_output[$sheet].= "</td>";
            }
        }
        $table_output[$sheet].= "</tr>";
    }
    $table_output[$sheet].= "</table>";
    $table_output[$sheet] = str_replace(" ", "", $table_output[$sheet]);
    $table_output[$sheet] = str_replace(" ", "", $table_output[$sheet]);
    $table_output[$sheet] = str_replace(" ", " ", $table_output[$sheet]);
    if ($debug) {
        $debug_output = print_r($data->sheets[$sheet], true);
        $debug_output = str_replace(" ", "n", $debug_output);
        $debug_output = str_replace(" ", "r", $debug_output);
        $table_output[$sheet].= "<pre>$debug_output</pre>";
    }
    echo "sheet_html[$sheet] = "$table_output[$sheet]"; ";
}
echo " 
function change_tabs(sheet) 
{ 
 //alert('sheet_tab_' + sheet); 
 for(i=0;i<", count($data->sheets) , ";i++) 
 { 
  document.getelementbyid('sheet_tab_' + i).classname = 'tab_base'; 
 } 
 document.getelementbyid('table_loader_div').innerhtml=sheet_html[sheet]; 
 document.getelementbyid('sheet_tab_' + sheet).classname = 'tab_loaded'; 
} 
</script>";
echo " 
<table class='table_body' name='tab_table'> 
<tr>";
for ($sheet = 0; $sheet < count($data->sheets); $sheet++) {
    echo "<td class='tab_base' id='sheet_tab_$sheet' align=center 
  onmousedown="change_tabs($sheet);
    ">", $data->boundsheets[$sheet]['name'], "</td>";
}
echo "<tr>";
echo "</table> 
<div id=table_loader_div>www.phprm.com</div> 
<script language='javascript'>//开源代码phprm.com 
change_tabs(0); 
</script>";
//echo "<iframe name=table_loader_iframe src='about:blank' width=100 height=100></iframe>";
/*
echo "<pre>"; 
print_r($data); 
echo "</pre>"; 
*/

excelreader这个类你可以到官网去下载 . 


本文地址:http://www.phprm.com/develop/fs5410.html

转载随意,但请附上文章地址:-)

标签:excelreader 读取excel类

发表留言