php ExcelReader读取excel文件

 更新时间:2016年11月25日 15:52  点击:2131

一、   概述

php教程-excelreader   是一个读取 excel xsl   文件内容的一个 php   类。

它的下载网址:  http://sourceforge.net/projects/phpexcelreader/

本博客下载地址:phpexcelreader.zip

测试用excel文件:测试.xls

文件名: phpexcelreader.zip

包含两个必需文件: oleread.inc   、 reader.php   。其它文件是一个应用例子 ,   自述文件等

二、   文件使用

首先 ,   包含 reader   类文件: require_once " reader.php";

新建一个实例: $xl_reader= new spreadsheet_excel_reader ( );

设定编码信息: $xl_reader ->setoutputencoding('utf-8');//不设定可能会是乱码 要和网页显示编码一致

读取 excel   文件信息: $xl_reader->read("filename.xls");

它将导出 excel   文件中所有可以识别的数据存储在一个对象中。数据存储在 2   个数组中,目前没有提供方法 /   函数访问这些数据 .   可以像下面这样简单的使用数组名。

sheets   数组包含了读取入对象的大量数据。它将导出 excel   文件中所有可以识别的数据存储在一个 2   维数组中 $xl_reader->sheets[x][y]   。 x  为文档中的表序号, y  是以下的某个参数 :

①        numrows -- int --  表的行数

例如: $rows = $xl_reader->sheets[0]['numrows']

②        numcols -- int --  表的列数

例如: $cols = $xl_reader->sheets[0]['numcols']

③        cells -- array --  表的实际内容。是一个 [row][column]   格式的 2   维数组

    例如: $cell_2_4 = $xl_reader->sheets[0]['cells'][2][4] //   行 2,   列 4   中的数据

④        cellsinfo -- array --  表格中不同数据类型的信息。每个都包含了表格的原始数据和类型。这个数组包含 2   部分: raw --  表格原始数据; type --  数据类型。

注:只显示非文本数据信息。

例如: $cell_info = $xl_reader[0]['cellsinfo'][2][4]

$cell_info['raw'] is the raw data from the cell

$cell_info['type'] is the data type

$xl_reader->sheets

在php教程使用curl时必须先在php.ini中开启extension=php_curl.dll前面的;去了,才行哦,curl是php中一款内置的浏览器,它可以模仿用户浏览信息进行网站浏览,等下面来看一实例。


function postpage($url)
{
$response = "";
$rd=rand(1,4);
$proxy='http://221.214.27.253:808';
if($rd==2) $proxy='http://222.77.14.56:8088';
if($rd==3) $proxy='http://202.98.123.126:8080';
if($rd==4) $proxy='http://60.14.97.38:8080';
if($url != "") {
$ch = curl_init($url);
curl_setopt($ch, curlopt_header, 0);
curl_setopt($ch, curlopt_returntransfer, true);
curl_setopt($ch, curlopt_proxy, $proxy);
$response = curl_exec($ch);
if(curl_errno($ch)) $response = "";
curl_close($ch);
}
return $response;
}

curl包括部份函数

curl_close — close a curl session
curl_copy_handle — copy a curl handle along with all of its preferences
curl_errno — return the last error number
curl_error — return a string containing the last error for the current session
curl_exec — perform a curl session
curl_getinfo — get information regarding a specific transfer
curl_init — initialize a curl session
curl_multi_add_handle — add a normal curl handle to a curl multi handle
curl_multi_close — close a set of curl handles
curl_multi_exec — run the sub-connections of the current curl handle
curl_multi_getcontent — return the content of a curl handle if curlopt_returntransfer is set
curl_multi_info_read — get information about the current transfers
curl_multi_init — returns a new curl multi handle
curl_multi_remove_handle — remove a multi handle from a set of curl handles
curl_multi_select — wait for activity on any curl_multi connection
curl_setopt_array — set multiple options for a curl transfer
curl_setopt — set an option for a curl transfer
curl_version — gets curl version information

原理是从url中提取关键词。参数说明:url及关键词前的字符,然后进行处理与来源判断是那个搜索引擎,这样保存到数据就就行了。

<?php教程
//

$search_url = isset($_get['url'])?$_get['url']:''; //代表传入的地址
/*$search_url = urldecode($search_url);
print_r($search_url);
*/

$config = array(
    "s1"=>array(
        "domain" => "google.com",
        "kw" => "q",
        "charset" => "utf-8"
    ),
    "s3"=>array(
        "domain" => "google.cn",
        "kw" => "q",
        "charset" => "utf-8"
    ),
    "s4"=>array(
        "domain" => "baidu.com",
        "kw" => "wd",
        "charset" => "gbk"
    ),
    "s5"=>array(
        "domain" => "soso.com",
        "kw" => "q",
        "charset" => "utf-8"
    ),
    "s6"=>array(
        "domain" => "yahoo.com",
        "kw" => "q",
        "charset" => "utf-8"
    ),
    "s7"=>array(
        "domain" => "bing.com",
        "kw" => "q",
        "charset" => "utf-8"
    ),
    "s8"=>array(
        "domain" => "sogou.com",
        "kw" => "query",
        "charset" => "gbk"
    ),
    "s9"=>array(
        "domain" => "youdao.com",
        "kw" => "q",
        "charset" => "utf-8"
    ),
);

//函数作用:从url中提取关键词。参数说明:url及关键词前的字符。
function get_keyword($url,$kw_start)

{
    $start = stripos($url,$kw_start);
    $url = substr($url,$start+strlen($kw_start));
    $start = stripos($url,'&');
    if ($start>0)
    {
        $start=stripos($url,'&');
        $s_s_keyword=substr($url,0,$start);
    }
    else
    {
        $s_s_keyword=substr($url,0);
    }
    return $s_s_keyword;
}

$arr_key = array();
foreach($config as $item){
    $sh = preg_match("/b{$item['domain']}b/",$search_url);
    if($sh){
        $query = $item['kw']."=";

        $s_s_keyword = get_keyword($search_url,$query);
        $f_skey=urldecode($s_s_keyword);
        if($item['charset']=="utf-8"){
            $f_skey=iconv( "utf-8","gb2312//ignore",$f_skey); //最终提取的关键词
        }
        $keys = explode(" ",$f_skey);
        $arr_key[$item['domain']] = $keys;
    }
}
echo "<pre>";
print_r($arr_key);

?>
<form action="index.php" method="get">
    <input name="url" size="80"><button type="submit">go</button>
</form>

迅雷地址正则匹配代码

thunder://[a-za-z0-9]*


perl:
thunder://.+
用preg_replace()函数。

迅雷地址分不分大小写?不分的话用pregi_replace()

$iishost = new com("npoint_m.host");   '加载组件
$r = $iishost->iisstate(10, 1, "", "", "", "");  '运行组件功能,返回参数
echo $r;  '返回参数
切换net版本为
netstate(ifid, dirname, netver, iissapp, bkwebip, bkpass, webfiletype, bkport)
  参数说明:  ifid as ingeter : iis网站标识符
dirname as string : 目录名称   如: bbs 或 abcabdabe... 依此类推   dirname 为空 默认为站点
netver as string : .net版本号
iissapp as string : 切换的应用程序池名称   可留空(限独立进程池)
.net版本号(如: "v1.1.4322" 版本号在c:windowsmicrosoft.netframework里面.net文件夹名称)
注: 切换.net版本,除了独立进程池 其它的必须切换应用程序池 因为.net1.1 与 .net2.0... 不能共存
bkwebip as string : 被控访问网址/ip
bkpass as string : 被控访问密码
webfiletype as string : 被控站点文件格式 如: asp教程
bkport as integer : 被控站点端口 如: 999
* 成功返回 1  否则返回错误提示

下面看一个php教程 利用com 连接adodb.connection数据库教程*/

    //access执行类
    class db{
        var $conn;
        //var $rs_n;//记录当前rs的数量.
        //建立链接
        function create()
        {
            $this->conn = @new com("adodb.connection");  //这是13行
            $str="driver=microsoft access driver (*.mdb);dbq=".realpath("./dbdata/yuan555.mdb ");
            $$this->conn->open($str);
            //return $this->$conn ;
        }

        //建立方法
        function query($sql)
        {
            $_rs = @new com("adodb.recordset");
            $_rs->open($sql,$this->$conn,1,1);
            return $_rs;
        }
    }

    //实例化类
    $db=new db();
    $db->create();
    //--------------------------------
    $rs=$db->query("select * from product");   
    $rs->close();
    $rs = null;  //但close完了,一定要 null 的
    $db->close();

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • c#读取excel方法实例分析

    这篇文章主要介绍了c#读取excel方法,实例分析了C#读取excel文件的原理与相关技巧,需要的朋友可以参考下...2020-06-25
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29