在工作中需要把csv文件数据导入数据库或者把数据库数据导出为csv文件。以下是我的简单的实现。

 <?php
 class csv
 {
     public $db_connection;
     public $table_name;
     public $file_path;

     public function __construct($db_connection,$table_name,$file_path)
     {
         $this->db_connection=$db_connection;
         $this->table_name=$table_name;
         $this->file_path=$file_path;
     }

     /*
     **把本地csv文件导入数据库
     */
     public function import()
     {
         $sql="insert ".$this->table_name." values ";
         $fp=fopen($this->file_path, "r");
         if($fp){
             while(($data=fgetcsv($fp,1000))!==FALSE){
                 $values="(";
                 $num=count($data);
                 for($c=0;$c<$num;$c++){
                     $data[$c]=str_replace("'", "\'", $data[$c]);
                     $values.="'".$data[$c]."',";
                 }
                 $values=substr($values,0,strlen($values)-1);
                 $values.="),";
                 $sql.=$values;
             }
         }
         $sql=substr($sql,0,strlen($sql)-1);
         $this->db_connection->exec($sql);
         fclose($fp);
         echo "Fairy sister Liu Yifei, BI master's idol!";
     }

     /*
     **把数据库表导出到本地csv文件
     */
     public function export()
     {
         $fp=fopen($this->file_path, "w");
         if($fp==TRUE){
             $sql="select * from ".$this->table_name." limit 300";
             foreach($this->db_connection->query($sql)->fetchAll() as $row){
                 $i=0;
                 foreach ($row as $key => $value) {
                     if($i%2==0){
                         unset($row[$key]);
                     }
                     $i++;
                 }
                 fputcsv($fp,$row);
             }
         }
         fclose($fp);
         echo "Fairy sister Liu Yifei, BI master's idol!";
     }
 }

导入导出csv文件的更多相关文章

  1. mysql SQLyog导入导出csv文件

    1.选择数据库表 --> 右击属性 --> 备份/导出 --> 导出表数据作为 --> 选择cvs --> 选择下面的“更改” --> 字段 --> 变量长度 ...

  2. [转]PL/SQL Developer 导入导出csv文件

    PL/SQL Developer 可以导入或者导出CSV文件. 导入CSV文件步骤: 1.选择tools->text importer.... 2.选择第二个Data to oracle选项卡, ...

  3. PHP导入导出csv文件 Summer-CSV

    2017年11月9日09:25:56 根据项目实践总结的一个类文件, mac/win下没乱码 简体中文 默认从gb2312转到utf-8 https://gitee.com/myDcool/PHP-C ...

  4. MySQL 导入导出 CSV 文件

    导入 导出 清空表中的所有数据 注意事项 常见问题 ERROR 1290 (HY000): The MySQL server is running with the --secure-file-pri ...

  5. 使用PHP导入和导出CSV文件

    我们先准备mysql数据表,假设项目中有一张记录学生信息的表student,并有id,name,sex,age分别记录学生的姓名.性别.年龄等信息. CREATE TABLE `student` ( ...

  6. 【转】使用PHP导入和导出CSV文件

    项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用PHP并结合mysql,实现了CSV格式数据的导入和导出功能.我们先准备mysql数据表 ...

  7. PHP导入和导出CSV文件

    CREATE TABLE `student` ( `id` ) NOT NULL auto_increment, `name` varchar() NOT NULL, `sex` varchar() ...

  8. PHP 读取/导出 CSV文件

    工作中经常会有遇到导入/导出的需求,下面是常用的方法.读取CSV文件,可以分页读取,设置读取行数,起始行数即可.导出CSV文件,用两种方法进行实现. /** * 读取CSV文件 * @param st ...

  9. 用NPOI实现导入导出csv、xls、xlsx数据功能

    用NPOI实现导入导出csv.xls.xlsx数据功能   直接上代码 首先定义一个接口   如果需要直接操作文件的话,就自己在封装一次 然后定义csv类的具体实现 这个需要引入命名空间LumenWo ...

随机推荐

  1. JS基础——事件绑定

    上一篇博客JS事件对象中,老师问JS事件处理和VB中的事件处理有什么联系?先来解决一下这个问题.举个VB.net中事件处理的样例(JS敲久了,VB习惯的都不熟悉了,看来得常常回想了): 1.事件处理V ...

  2. 设置Cookie,登录记住用户登录信息,获取用户登录过得信息

    function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Da ...

  3. 通过localstorage和cookie实现记录文章的功能

    我们在做页面的时候,会考虑记录用户曾经看过的文章的功能,并记录下来在页面中显示!但是在IE低版本的下是不支持localstorage的功能,只能采用cookie来代替本地存储的功能!实现的方法如下! ...

  4. hdu 1059 Dividing 多重背包

    点击打开链接链接 Dividing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  5. 程序猿必要10免费的钱jquery小工具

    本周带来10款免费的jquery插件.假设你也有好的作品,欢迎分享到社区中来,在得到帮助的同一时候,也能与很多其它人分享来自你的作品. jQuery导航菜单置顶插件 - stickyUp . 在线演示 ...

  6. 在Android中自动实现横竖屏切换的问题

    http://developer.android.com/training/basics/supporting-devices/screens.html参照Google推荐的做法 在你项目的res 文 ...

  7. QTP脚本不能录制怎么办?

    QTP是基于VBS脚本语言的,大部分VBS脚本都能在QTP上运行,只是在一些细节上略有不同,比如说VBS上停止用sleep,QTP上用wait.QTP的强大之处在于对程序窗口的操作,有很多针对窗体的属 ...

  8. asp.net mvc使用validate.js验证 若name属性包含特殊字符则加上双引号即可

    rules: {                    "Can.CName": {                        required: true,          ...

  9. EF6+MVC4+EasyUI个人日记系统开源共享

    发现在2015年里学习MVC的人越来越多,本人的群成员也越来越多,为了更方便大家学习,在此共享一个个人的小项目. 如下是部分截图: 简单介绍一下本系统的一些相关知识. 1.简单的3层框架,易学易懂 2 ...

  10. Tomcat源码学习一

    这段时间工作不太忙,所以抽时间学习了TOMCAT, TOMCAT实际就是负责保持TCP连接传递到部署的项目中.浏览器实质就是TCP发送器.将用户的请求封装成TCP发送请求.当然格式是双方协定的.使用的 ...