欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一个使用laravel创建word的实例

程序员文章站 2022-06-15 17:57:35
...

这是一个从零开始使用laravel例子.一个很简单的功能,在页面上上传指标值(json格式),然后点按纽会把指标按一定格式输出word.其中使用了laravel的一些基本的功能。

1)首先创建项目CreateWord

命令行输入:laravel new CreateWord

这时会自动创建一个目录CreateWord,在这个目录下已经生成了很多的文件,只需求修改相应的文件,就可以实现我们要的功能.

2)\app\Http\Controllers创建一个控制器类

 类名要用驼峰命名法PostsController,定义一个方法upload

一个使用laravel创建word的实例

控制器类都会继承Controller,所以需要extendsController

3)\routes\web.php中增加路由

Route::post('createDocs/upload', ' aaa@qq.com');

http访问的method=post请求时,对应Route::post()方法, 这里PostsController是一个控制器类(上面定义的)upload是该控制器类的方法,整条语句的意思就是当访问/的时候,就会去执行PostsController类中的upload方法。”””

4)增加视图

操作页面很简单,如下图

一个使用laravel创建word的实例

\resources\views\createDocs增加视图createDoc.blade.phplaravel的视图页面是使用blade模版引擎的,所以必须加上.blade.php的后缀)

一个使用laravel创建word的实例

在上传数据之后,需要返回当前页面,所以update方法最后要返回“return view('createDocs.createDoc');

5)上传文件

首先把json文件保存在本地目录,再解析出内容,最后根据内容来输出word

文件系统的配置文件在 config/filesystems.php 文件中,此处我们新建一个uploads本地磁盘空间用于存储上传的文件

一个使用laravel创建word的实例

之后编写上传的代码

一个使用laravel创建word的实例

6)生成word

直接输出word的内容到浏览器

        ob_start(); //打开缓冲区

               echo $html;

               header("Cache-Control:public");

               Header("Content-type:application/octet-stream");

               Header("Accept-Ranges:bytes");

header('Content-Disposition:attachment; filename=test.doc');

header("Pragma:no-cache");

header("Expires:0");

ob_end_flush();//输出全部内容到浏览器

如果文件是中文名需要处理一下

7)解析的内容,会先保存在MySql数据库中

首先要创建数据库。Laravel自带的migrationmigration可以看成是数据库的版本控制,你无论是添加了表,还是修改了字段,你的同事只需要执行php artisan migrate就可以保证他的数据库和你一样了,这对于数据库的线上部署也非常的方便。

database/migrations目录创建表,一般每个表一个文件,主要实现updown方法。up()中的内容是创建表及其字段,而down()函数是删除表

一个使用laravel创建word的实例

一个使用laravel创建word的实例

然后命令行执行:php artisan migrate  在数据库创建了表ghub.sans.item.data

还可以使用php artisan db:seed  给数据表插入测试数据

8)查询和保存数据

这里用到了Laravel Eloquent ORM可以通过 make:model 命令自动生成Eloquent 模型:

php artisan make:model ItemDatas
然后进行改写
一个使用laravel创建word的实例

有了这个就很方便的操作数据表的数据了。比如从ghub_sans_items取出数据保存在ghub.sans.item.data这个表中

一个使用laravel创建word的实例


 

 

相关标签: laravel word