thinkphp将excel导入到数据库中

首先下载phpexcel插件

http://pan.baidu.com/s/1hq56dFm

我用的是thinkphp框架的3.1版本,下载好压缩包,框架中的extend中的vendor文件夹中新建一个名为PHPExcel的文件夹,把classes里面的内容放到里面

下面是前端页面

提示:我在测试的时候遇到报错exception ‘PHPExcel_Reader_Exception‘ with message ‘The filename

原因是由于excel的文件后缀可能不同,我的文件后缀是xlsx,然后给把他另存为了xls的文件,就可以了

<html>
    <head>

    </head>
    <body>
        <form action="{pigcms::U(‘Jdb/abcdefgwulisuibian‘)}" method="post" enctype="multipart/form-data">
            <input type="file" name="import"/>
            <input type="hidden" name="table" value="tablename"/>
            <input type="submit" value="导入"/>
        </form>
    </body>

</html>

下面是php的

function abcdefgwulisuibianuplod(){
        $this->display();//显示页面
    }
    function abcdefgwulisuibian(){
        if (!empty($_FILES)) {
            import("@.ORG.UploadFile");
            $config=array(
                ‘allowExts‘=>array(‘xlsx‘,‘xls‘),
                ‘savePath‘=>‘./Public/upload/‘,
                ‘saveRule‘=>‘time‘,
            );
            $upload = new UploadFile($config);
            if (!$upload->upload()) {
                $this->error($upload->getErrorMsg());
            } else {
                $info = $upload->getUploadFileInfo();

            }
            vendor("PHPExcel.PHPExcel");
                $file_name=$info[0][‘savepath‘].$info[0][‘savename‘];
                $objReader = PHPExcel_IOFactory::createReader(‘Excel5‘);
                $objPHPExcel = $objReader->load($file_name,$encode=‘utf-8‘);
                $sheet = $objPHPExcel->getSheet(0);
                $highestRow = $sheet->getHighestRow(); // 取得总行数
                $highestColumn = $sheet->getHighestColumn(); // 取得总列数
                for($i=2;$i<=$highestRow;$i++)//这个地方根据需要,一般第一行是名称,所以从第二行开始循环,也可以从第一行开始
                {   

                    $data[‘lianjieid‘] = $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();//数据库字段和excel列相对应
                    $data[‘yaoqingma‘] = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();
                    $data[‘dlmima‘]= $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();
                    $data[‘ljdizhi‘]= $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();
                    M(‘jdb‘)->add($data);//插入数据库

                }
                 $this->success(‘导入成功!‘);
        }else
            {
                $this->error("请选择上传的文件");
            }    

    }
时间: 2024-11-05 18:30:51

thinkphp将excel导入到数据库中的相关文章

C#将数据库导出成Excel,再从Excel导入到数据库中。

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.IO; namespace CindyDatabaseProcess { class Program { static void Main(string[] args) { System.Data.DataTable dt1 = null; S

如何将excel导入到数据库中并在gridview中显示

在页面上导入个excel文件,将该excel中的数据导入到数据库中,并且在页面的gridview中把数据显示出来. 1.在Asp.net中怎样将Excel文件中的数据导入到GridView中呢? 首先我们将这张表中的数据转换为DataTable类型的数据源,做一个函数来解决这个问题 private DataTable createDataSource(string strPath) { stringstrCon; strCon = "Provider=Microsoft.Jet.OLEDB.4.

thinkPHP实现将excel导入到数据库中的方法

提示:我在测试的时候遇到报错exception 'PHPExcel_Reader_Exception' with message 'The filename 原因是由于excel的文件后缀可能不同,我的文件后缀是xlsx,然后给把他另存为了xls的文件,就可以了 ? 1 2 3 4 5 6 7 8 9 10 11 <html>  <head>  </head>  <body>   <form action="{pigcms::U('Jdb/a

将csv和txt 数据导入到数据库中

将文本数据导入到数据库中,最简单的选择是:Excel使用OpenSet,csv和txt 使用bulk insert来实现 1,使用OpenRowSet将Excel导入到数据库中 参考<OpenRowSet 用法> 2,使用bulk insert 将txt数据导入到数据库中,文本数据使用Tab分割Column,使用换行符分割row. --create staging table create table dbo.txt_staging ( col1 nvarchar(255), col2 nva

如何将EXCEL表导入ORACLE数据库中?【转】

来源:https://zhidao.baidu.com/question/383828330.html?qbl=relate_question_2&word=excel%20%B1%ED%CA%FD%BE%DD%D4%F5%C3%B4%D0%B4%C8%EBorancle 操作步骤如下: 准备数据:在excel中构造出需要的数据 2.将excel中的数据另存为文本文件(有制表符分隔的) 3.将新保存到文本文件中的数据导入到pl*sql中 在pl*sql中选择tools-->text impo

C#将SQL数据库中数据导入Excel中,并将Excel中反导入SQL数据库中

实际的开发中,我们会经常遇到数据的转化的需要,将Excel中的数据转入到SQL中,或将SQL在数据库表中的数据导入到Excel中.代码如下: Code using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windo

Java版将EXCEL表数据导入到数据库中

1.采用第三方控件JXL实现 try { //实例化一个工作簿对象 Workbook workBook=Workbook.getWorkbook(new File("F://qzlx.xls")); //获取该工作表中的第一个工作表 Sheet sheet=workBook.getSheet(0); //获取该工作表的行数,以供下面循环使用 int rowSize=sheet.getRows(); for(int i=0;i<rowSize;i++) { //编号 String

将Excel [导入到数据库] or 将数据 [导入到Excel]

将Excel导入到数据库实现如下: 前台代码: @model IEnumerable<Model.Student> @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> <script

excel导入到数据库的异常处理

excel导入到数据库,这个是经常发生的,今天就碰到了一个非常郁闷的事情,在导入到oracle数据的时候,总是出现ORA-01756: 引号内的字符串没有正确结束,认真的排插了数据当中可能出现的错误,明明感觉是某个不可见字符或者是某个很细小的字符造成的,后来终于找到诀窍了,要把字符中的空格,逗号(全角半角),引号(全角半角),斜杠换行符等都清楚干净再去导入.