Heim >Backend-Entwicklung >PHP-Tutorial >PHP将Excel导入数据库以及数据库数据导出至Excel,excel数据导出_PHP教程

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

WBOY
WBOYOriginal
2016-07-13 09:49:25990Durchsuche

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>?>        

总之,能够读出表格中每一行中的相应列$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>

完整代码如下:

<?<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>?>

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

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1019642.htmlTechArticlePHP将Excel导入数据库以及数据库数据导出至Excel,excel数据导出 一.导入 导入需要使用能读取Excel的组件,网上也有比较好的组件,这里分享...
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