这是很多人经常需要实现的功能但是TDbgrid类并没有提供类似col和row的属性,所以不能直接获得这些信息所以有很多朋友就开始从DataSource来开始想办法。但是我们静下心来考虑虽然TDbgrid沒有提供col和row属性,但是他的基类TCustomGrid却是实现了row和col属性因此我们可以重新派生一个叫做的TMgrid的类来输出row和col属性,并将dbgrid的实例强制转换成TMgrid 既可准确快速的获取这两个属性了,vba 代码执行被中断如下:
从这个例子中我们不难得到这样的启示当我们无法从当前使用的类直接获取我们需要的信息时,不要急于求成而绕弯路我们可以去考察一下它的基类(基类的基类…,一直找上去)是否为我们提供了我们需要的信息。如果有我们可以简单的从当前类来继承一个新的类(当然你也可以从它的基类直接继承,例如上面的例子TMgrids甚至可以从TCustomGrid类来继承。泹是为了安全起见我建议直接从当前类来继承),然后强制转换当前对象为新的类型这时我们就可以非常容易获得我们需要的信息
在网上找了好多天将数据库中信息导出到word中的解决方案现在将这几天的总结分享一下。总的来说java导出word大致有5种解决方案:
优点:调用微软Office的COM接口,生成的word文件格式规范
缺点:服务器只能是windows平台,不支持unix和linux且服务器上必须安装微软Office。
缺点:相对与对word文件的处理来说POI更适合excel处理,对于word實现一些简单文件的操作凑合不能设置样式且生成的word文件格式不够规范。
3:Java2word是一个在java程序中调用 MS Office Word 文档的组件(类库)该组件提供了一组简單的接口,以便java程序调用他的服务操作Word 文档 这些服务包括: 打开文档、新建文档、查找文字、替换文字,插入文字、插入图片、插入表格在书签处插入文字、插入图片、插入表格等。
优点:足够简单操作起来要比FreeMarker简单的多。
缺点:没有FreeMarker强大不能够根据模版苼成Word文档,word的文档的样式等信息都不能够很好的操作
优点:比Java2word功能强大,也是纯Java编程
缺点:生成的文件本质上是xml,不是真正嘚word文件格式有很多常用的word格式无法处理或表现怪异,比如:超链、换行、乱码、部分生成的文件打不开等
5:PageOffice生成word文件。PageOffice封装了微软Office繁瑣的vba接口提供了简洁易用的Java编程对象,支持生成word文件同时实现了在线编辑word文档和读取word文档内容。
优点:跨平台支持windows、unix和linux生成word文件格式标准,支持文本、图片、表格、字体、段落、颜色、超链、页眉等各种格式的操作支持多word合并,无需处理并发不耗费服务器资源,运行稳定
缺点:必须在客户端生成文件(可以不显示界面),不支持纯服务器端生成文件
综合以上资料的参考,和网上的一些意见最后选择了,第5种用PageOffice做导出方案
下面是基本的例子,以实现简单的word导出:
读取数据库表中的信息记录填充到一个请假条的模板中替换“部门、姓名、原因、天数、日期”几个数据位置的文本内容。
最近VueJs确实火了一把自从Vue2.0发布后,Vue就成了前端领域的热门话题github也突破了三万的star,那么对于新手来说如何高效快速的学习Vue2.0呢。
既然大家会看这篇文章那么肯定是vue的学習者了,或是遇到的瓶颈或者刚刚开始学,不知道如何快速起步本篇文章将带领大家在最短的时间内构件一个学习Vue的学习路线
Vuejs的作者尤雨溪尤大也写过一篇关于新手学习vue路径的文章
百度vuejs搜索的是vue1的文档,推荐大家直接上2.0,毕竟1和2还是有区别的vue2.0文档地址
Vuex 是一个专门为 Vue.js 应用设計的 状态管理模型 + 库。它为应用内的所有组件提供集中式存储服务其中的规则确保状态只能按预期方式变更。说白了就是控制应用的一些全局状态状态改变了,对应的视图也会改变
到此恭喜你已经成功入门Vue了。还学会了一点ES6,附带一点Webpack,可以开始写一些小作品了比如写个播放器啊,寫个高级点的todoList等等附上我写的一个仿照酷狗webapp的例子吧,