Heim > Backend-Entwicklung > PHP-Tutorial > TP5.0 PHPExcel-Datentabellenexport und -import

TP5.0 PHPExcel-Datentabellenexport und -import

藏色散人
Freigeben: 2023-04-07 06:42:02
nach vorne
3703 Leute haben es durchsucht

1. Laden Sie zunächst die PHPexcel-Klassenbibliothek von Github herunter

oder laden Sie die PHPexcel-Klassenbibliothek über den folgenden Link herunter.

http://www.php.cn/xiazai/leiku/1491

2. Kopieren Sie es nach dem Entpacken, um es zu erweitern

Der Controller-Code lautet wie folgt:

<?php
/**
 * Created by PhpStorm.
 * User: luxiao
 * Date: 2017/5/8
 * Time: 16:49
 */
namespace app\index\controller;
use think\Loader;
use think\Controller;
class Excel extends Controller
{
    function excel()
    {
        $path = dirname(__FILE__); //找到当前脚本所在路径
        Loader::import(&#39;PHPExcel.Classes.PHPExcel&#39;);  //手动引入PHPExcel.php
        Loader::import(&#39;PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory&#39;);  //引入IOFactory.php 文件里面的PHPExcel_IOFactory这个类
        $PHPExcel = new \PHPExcel();  //实例化
        $PHPSheet = $PHPExcel->getActiveSheet(); 
        $PHPSheet->setTitle("demo"); //给当前活动sheet设置名称
        $PHPSheet->setCellValue("A1","姓名")->setCellValue("B1","分数");//表格数据
        $PHPSheet->setCellValue("A2","张三")->setCellValue("B2","2121");//表格数据
        $PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel,"Excel2007");  //创建生成的格式
        header(&#39;Content-Disposition: attachment;filename="表单数据.xlsx"&#39;);  //下载下来的表格名
        header(&#39;Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&#39;);
        $PHPWriter->save("php://output"); //表示在$path路径下面生成demo.xlsx文件
    }
}
Nach dem Login kopieren

Rufen Sie die Excel-Methode auf, um eine Tabelle zu generieren, und schreiben Sie dann den Code entsprechend Ihren eigenen Anforderungen.

PHPExcel-Tabellendaten werden importiert in die Datenbankstadttabelle, erstellen Sie vorher das Formular selbst. Diesmal habe ich die Adressdatentabelle zum Testen verwendet:

function inserExcel()
    {
        Loader::import(&#39;PHPExcel.Classes.PHPExcel&#39;);
        Loader::import(&#39;PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory&#39;);
        Loader::import(&#39;PHPExcel.Classes.PHPExcel.Reader.Excel5&#39;);
        //获取表单上传文件
        $file = request()->file(&#39;excel&#39;);
        $info = $file->validate([&#39;ext&#39; => &#39;xlsx&#39;])->move(ROOT_PATH . &#39;public&#39; . DS . &#39;uploads&#39;);  //上传验证后缀名,以及上传之后移动的地址
        if ($info) {
//            echo $info->getFilename();
            $exclePath = $info->getSaveName();  //获取文件名
            $file_name = ROOT_PATH . &#39;public&#39; . DS . &#39;uploads&#39; . DS . $exclePath;   //上传文件的地址
            $objReader =\PHPExcel_IOFactory::createReader(&#39;Excel2007&#39;);
            $obj_PHPExcel =$objReader->load($file_name, $encode = &#39;utf-8&#39;);  //加载文件内容,编码utf-8
            echo "<pre class="brush:php;toolbar:false">";
            $excel_array=$obj_PHPExcel->getsheet(0)->toArray();   //转换为数组格式
            array_shift($excel_array);  //删除第一个数组(标题);
            $city = [];
            foreach($excel_array as $k=>$v) {
                $city[$k][&#39;Id&#39;] = $v[0];
                $city[$k][&#39;code&#39;] = $v[1];
                $city[$k][&#39;path&#39;] = $v[2];
                $city[$k][&#39;pcode&#39;] = $v[3];
                $city[$k][&#39;name&#39;] = $v[4];
            }
            Db::name(&#39;city&#39;)->insertAll($city); //批量插入数据
        } else {
            echo $file->getError();
        }
Nach dem Login kopieren

Front-End-Code:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="http://localhost/chexian5.0/index.php/index/excel/intoexcel" enctype="multipart/form-data" method="post">
    <input type="file" name="excel" />
    <input type="submit" value="导入">
</form>
</body>
</html>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonTP5.0 PHPExcel-Datentabellenexport und -import. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage