一个使用laravel创建word的实例
这是一个从零开始使用laravel例子.一个很简单的功能,在页面上上传指标值(json格式),然后点按纽会把指标按一定格式输出word.其中使用了laravel的一些基本的功能。
1)首先创建项目CreateWord
命令行输入:laravel new CreateWord
这时会自动创建一个目录CreateWord,在这个目录下已经生成了很多的文件,只需求修改相应的文件,就可以实现我们要的功能.
2)在\app\Http\Controllers创建一个控制器类
类名要用驼峰命名法PostsController,定义一个方法upload
控制器类都会继承Controller类,所以需要extendsController
3)在\routes\web.php中增加路由
Route::post('createDocs/upload', ' PostsController@upload');
http访问的method=post
请求时,对应Route::post()
方法, 这里PostsController
是一个控制器类(上面定义的),upload是该控制器类的方法,整条语句的意思就是当访问/
的时候,就会去执行PostsController类中的upload方法。”””
4)增加视图
操作页面很简单,如下图
在\resources\views\createDocs增加视图createDoc.blade.php(laravel的视图页面是使用blade
模版引擎的,所以必须加上.blade.php的后缀)
在上传数据之后,需要返回当前页面,所以update方法最后要返回“return view('createDocs.createDoc');”
5)上传文件
首先把json文件保存在本地目录,再解析出内容,最后根据内容来输出word
文件系统的配置文件在 config/filesystems.php 文件中,此处我们新建一个uploads本地磁盘空间用于存储上传的文件
之后编写上传的代码
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自带的migration
,
migration
可以看成是数据库的版本控制,你无论是添加了表,还是修改了字段,你的同事只需要执行php artisan migrate
就可以保证他的数据库和你一样了,这对于数据库的线上部署也非常的方便。
在database/migrations
目录创建表,一般每个表一个文件,主要实现up和down方法。up()
中的内容是创建表及其字段,而down()
函数是删除表
然后命令行执行:php artisan migrate 在数据库创建了表ghub.sans.item.data
还可以使用php artisan db:seed 给数据表插入测试数据
8)查询和保存数据
这里用到了Laravel 的 Eloquent ORM。可以通过 make
:model
命令自动生成Eloquent 模型:
php artisan make
:model ItemDatas
然后进行改写
有了这个就很方便的操作数据表的数据了。比如从ghub_sans_items取出数据保存在ghub.sans.item.data这个表中
一个使用laravel创建word的实例相关推荐
- laravel 创建word时下载
创建文件时下载 $path = storage_path() . '/export/';if (!file_exists($path)) {\Illuminate\Support\Facades\Fi ...
- MFC创建Word文档,进行插入表格、图片操作
VS2013+office2013实现Word文档的创建,以及实现插入表格.图片的操作,在数据保存完毕后会弹出窗口选择保存路径,可以保存成doc和PDF的格式. 首先在界面上添加一个保存按钮,然后添加 ...
- php创建一个类,JavaScript_创建一个类Person的简单实例,创建一个类Person,包含以下属 - phpStudy...
创建一个类Person的简单实例 创建一个类Person,包含以下属性:姓名(name).年龄(age).朋友(friends数组).问候(sayhi方法,输出问候语,例如:"你好!&quo ...
- 永磁同步直线电机仿真实例,仿真教学 maxwell16.0版本 包括图中模型以及一个仿真设置要点word文档教程
永磁同步直线电机仿真实例,仿真教学 maxwell16.0版本 12槽11极 包括图中模型以及一个仿真设置要点word文档教程 ID:69100643350855880陈cola
- swift加密_如何使用Swift和Laravel创建加密跟踪应用程序的后端
swift加密 by Neo Ighodaro 由新Ighodaro 如何使用Swift和Laravel创建加密跟踪应用程序的后端 (How to create the backend of a cr ...
- NPOI创建Word
http://www.cnblogs.com/sunbobohu/p/4914999.html NPOI已出现一段时间了,目前版本2.0 Beta 2 [v2.0.5],网上关于NPO ...
- 运用c# 对Word进行操作总结(一)创建Word文档
在医疗管理系统中为保存患者的体检和治疗记录,方便以后的医生或其他人查看.当把数据保存到数据库中,需要新建很多的字段,而且操作很繁琐,于是想到网页的信息创建到一个word文本中,在显示的时,可以在线打开 ...
- android native java_在Android Native层中创建Java虚拟机实例
前言 Android应用中JNI代码,是作为本地方法运行的.而大部分情况下,这些JNI方法均需要传递Dalvik虚拟机实例作为第一个参数.例如,你需要用虚拟机实例来创建jstring和其他的Java对 ...
- 一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(三) --高级设置一...
一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(三) --高级设置一 原文:一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(三) --高级设置一 上 ...
最新文章
- 【 转 】Keepalived工作原理
- 添加图标_win10系统轻松添加显示桌面图标的操作方法
- 电气自动化c语言用什么软件,电气自动化需要哪些高级语言?
- 西游中算命先生袁守诚泄露了天机,为何却是泾河龙王被砍头?
- Centos7网络配置
- python 爬取起点中文网的小说(学习记录)
- 从PXE启动安装Linux
- 高职高专院校人才培养工作水平评估工作感想
- Operator ‘==‘ cannot be applied to operands of type ‘byte[]‘ and ‘string‘
- (转)sonicstage 完整删除的方法
- 免费使用一年海外云服务器
- python斗地主游戏源码_Python实现的斗地主引擎
- “一年前,我来到国企搞IT”
- 用Python画一颗心、小人发射爱心(附源码)
- 高并发解决方案——提升高并发量服务器性能解决思路
- windows配置DNS
- CPU与内存的中转站 ——了解CPU缓存的秘密
- [Android Studio]申请摄像头权限失败
- 最根本的穴位-会阴穴
- Docker实战之通过nginx镜像来部署静态SPA项目