Home > php教程 > php手册 > PHP将Excel导入数据库以及数据库数据导出至Excel,excel数据导出

PHP将Excel导入数据库以及数据库数据导出至Excel,excel数据导出

WBOY
Release: 2016-06-13 09:00:29
Original
1013 people have browsed it

PHP将Excel导入数据库以及数据库数据导出至Excel,excel数据导出

一.导入

  导入需要使用能读取Excel的组件,网上也有比较好的组件,这里分享我使用的:下载  提取码:vxyn。(注意两个文件有引用关系)

<?<span>php
</span><span>//</span><span>传入要导入的Excel的文件名</span>
<span>function</span> import_to_DB(<span>$filename</span><span>) {
    </span><span>require_once</span>'reader.php'<span>;
    </span><span>$data</span> = <span>new</span> Spreadsheet_Excel_Reader();     <span>//</span><span>创建读取Excel的对象</span>
    <span>$data</span>->setOutputEncoding('utf-8');    <span>//</span><span>设置读取Excel内容后输出的字符编码</span>
    <span>$data</span>->read("data/Excel/{<span>$filename</span>}.xls"<span>);
    </span><span>$db</span> = <span>mysql_connect</span>('localhost', '用户名', '密码') or <span>die</span>("Could not connect to database."); <span>//</span><span>连接数据库   </span>
    <span>mysql_query</span>("set names 'uft8'"); <span>//</span><span>输出中文   </span>
    <span>mysql_select_db</span>('数据库名'); <span>//</span><span>选择数据库   </span>
    <span>error_reporting</span>(<span>E_ALL</span> ^ <span>E_NOTICE</span><span>);
    </span><span>for</span> (<span>$i</span> = 1; <span>$i</span> <= <span>$data</span>->sheets[0]['numRows']; <span>$i</span>++<span>) {
        </span><span>echo</span> <span>$data</span>->sheets[0]['cells'][<span>$i</span><span>][列数];
        </span><span>//</span><span>这里可以把每一行相应列的值插到数据库中,如:</span>
        <span>/*</span><span>
        $sql="insert "表名" values(对应项...)";
        mysql_query($sql);
        可加上错误判断
        </span><span>*/</span><span> 
    }  
</span>?>        
Copy after login

总之,能够读出表格中每一行中的相应列$data->sheets[0][行][列]的值,插入操作就好办了。

二.导出

  导出可以利用MIME协议轻松导出表格文件,不用依赖任何组件。按如下格式设置header即可导出Excel,同时浏览器进行下载

<span>header</span>('Content-type: text/html; charset=utf-8'<span>);
</span><span>header</span>("Content-type:application/vnd.ms-excel;charset=UTF-8"); <span>//</span><span>application/vnd.ms-excel指定输出Excel格式</span>
<span>header</span>("Content-Disposition:filename=表格文件名.xls"); <span>//</span><span>输出的表格名称</span>
Copy after login

完整代码如下:

<?<span>php 
</span><span>header</span>('Content-type: text/html; charset=utf-8'<span>);
</span><span>header</span>("Content-type:application/vnd.ms-excel;charset=UTF-8"<span>); 
</span><span>header</span>("Content-Disposition:filename=表格文件名.xls"<span>);
</span><span>$conn</span> = <span>mysql_connect</span>("localhost","root","数据库密码") or <span>die</span>("不能连接数据库"<span>);
</span><span>mysql_select_db</span>("数据库名", <span>$conn</span><span>);
</span><span>mysql_query</span>("set names 'UTF-8'"<span>);
</span><span>$sql</span>="select * from 表名 where 条件"<span>;

</span><span>$result</span>=<span>mysql_query</span>(<span>$sql</span><span>);
</span><span>echo</span> "表头1\t表头2\t表头3\n"<span>;
</span><span>while</span>(<span>$row</span>=<span>mysql_fetch_array</span>(<span>$result</span><span>)){
    </span><span>echo</span> <span>$row</span>[0]."\t".<span>$row</span>[1]."\t".<span>$row</span>[2]."\n"<span>;
}
</span>?>
Copy after login

这里其实\t就是换格,\n就是换行。在一个网页中设置这个php文件的链接,当点击时浏览器会自动把传过来的流保存为Excel文件。

 

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template