Heim  >  Artikel  >  php教程  >  php ExcelReader 读取Excel类

php ExcelReader 读取Excel类

WBOY
WBOYOriginal
2016-05-24 18:31:052036Durchsuche

这是一款开源的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 &#39;www.phprm.com/reader.php&#39;;
$data = new spreadsheet_excel_reader();
$data->setoutputencoding(&#39;cpa25a&#39;);
$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=&#39;javascript&#39;> 
var sheet_html = array(); ";
for ($sheet = 0; $sheet < count($data->sheets); $sheet++) {
    $table_output[$sheet].= "<table class=&#39;table_body&#39;> 
 <tr> 
  <td> </td>";
    for ($i = 0; $i < $data->sheets[$sheet][&#39;numcols&#39;] && ($i <= $max_cols || $max_cols == 0); $i++) {
        $table_output[$sheet].= "<td class=&#39;table_sub_heading&#39; align=center>" . make_alpha_from_numbers($i) . "</td>";
    }
    for ($row = 1; $row <= $data->sheets[$sheet][&#39;numrows&#39;] && ($row <= $max_rows || $max_rows == 0); $row++) {
        $table_output[$sheet].= "<tr><td class=&#39;table_sub_heading&#39;>" . $row . "</td>";
        for ($col = 1; $col <= $data->sheets[$sheet][&#39;numcols&#39;] && ($col <= $max_cols || $max_cols == 0); $col++) {
            if ($data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col][&#39;colspan&#39;] >= 1 && $data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col][&#39;rowspan&#39;] >= 1) {
                $this_cell_colspan = " colspan=" . $data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col][&#39;colspan&#39;];
                $this_cell_rowspan = " rowspan=" . $data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col][&#39;rowspan&#39;];
                for ($i = 1; $i < $data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col][&#39;colspan&#39;]; $i++) {
                    $data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col + $i][&#39;dontprint&#39;] = 1;
                }
                for ($i = 1; $i < $data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col][&#39;rowspan&#39;]; $i++) {
                    for ($j = 0; $j < $data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col][&#39;colspan&#39;]; $j++) {
                        $data->sheets[$sheet][&#39;cellsinfo&#39;][$row + $i][$col + $j][&#39;dontprint&#39;] = 1;
                    }
                }
            } else if ($data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col][&#39;colspan&#39;] >= 1) {
                $this_cell_colspan = " colspan=" . $data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col][&#39;colspan&#39;];
                $this_cell_rowspan = "";
                for ($i = 1; $i < $data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col][&#39;colspan&#39;]; $i++) {
                    $data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col + $i][&#39;dontprint&#39;] = 1;
                }
            } else if ($data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col][&#39;rowspan&#39;] >= 1) {
                $this_cell_colspan = "";
                $this_cell_rowspan = " rowspan=" . $data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col][&#39;rowspan&#39;];
                for ($i = 1; $i < $data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col][&#39;rowspan&#39;]; $i++) {
                    $data->sheets[$sheet][&#39;cellsinfo&#39;][$row + $i][$col][&#39;dontprint&#39;] = 1;
                }
            } else {
                $this_cell_colspan = "";
                $this_cell_rowspan = "";
            }
            if (!($data->sheets[$sheet][&#39;cellsinfo&#39;][$row][$col][&#39;dontprint&#39;])) {
                $table_output[$sheet].= "<td class=&#39;table_data&#39; $this_cell_colspan $this_cell_rowspan> ";
                if ($force_nobr) {
                    $table_output[$sheet].= "<nobr>";
                }
                $table_output[$sheet].= nl2br(htmlentities($data->sheets[$sheet][&#39;cells&#39;][$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 class="brush:php;toolbar:false">$debug_output
";     }     echo "sheet_html[$sheet] = "$table_output[$sheet]"; "; } echo "  function change_tabs(sheet)  {   //alert('sheet_tab_' + sheet);   for(i=0;isheets) , ";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';  }  "; echo "    "; for ($sheet = 0; $sheet sheets); $sheet++) {     echo ""; } echo ""; echo "
", $data->boundsheets[$sheet]['name'], "
 
www.phprm.com
  <script>//开源代码phprm.com change_tabs(0); </script>"; //echo ""; /* echo "
"; 
print_r($data); 
echo "
";  */

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn