layui重写table自带的导出功能

以前的项目中前端用的layui,那会选layui就是那会觉得样式还挺好看的,而且基本上需要的组件都有,尤其是自带table的导出和打印功能,不过table的导出功能还有点不足之处,导出后的文件直接查看没什么问题,要编辑或者编辑完成后上传进行预览还是问题挺多的,所以就重写了一下table的导出功能,特来mark一下。

重写这个功能借着了一个layui社区的插件,叫layui.excel,插件基于 xlsx.js 和 FileSaver,做了一个简单的封装,应付日常的的导出还是够用了,这里来记录一下步骤,主要就是在在table.js的源码中修改导出方法的逻辑,然后重新打包编译,替换本地的table.js。

下载layui的源码

具体下载地址就不多说了,可以在layui的官网首页就能看到,切记要下载跟本地版本对应的layui版本(这个很重要)。

重写table.exportFile方法

1.找到layui\src\lay\modules下的table.js文件,先引入layui.excel这个插件

2.找到 table.exportFile这个方法,然后加入自己的excel导出逻辑

原来的导出逻辑是直接用文件流的输出方式生成csv或者xls文件,这里就是简单的判断了一下导出的类型,如果是xls类型就直接生成数据调用excel.exportExcel方法,如果是csv就还是直接调用原来的导出逻辑。

重新打包编译

  1. 安装依赖

cd到layui文件夹下,npm install命令安装依赖

2.全局安装gulpnpm install -g gulp

layui项目目录下运行gulp的命令,参考gulpfile.js中的备注

发行版命令:gulp完整任务命令:gulp all,过滤layimgulp all --open

我使用的是gulp all --open

编译完成后将dist文件夹下的table.js复制出来直接替换就可以

里面重要的点就是excel插件的引入路径问题,根据自己项目路径直接修改table.js文件开发的引入即可。

编译过程中遇到的问题

1.node.js版本与gulp版本不兼容,我这采用的node版本是10.16.3

2.安装依赖的时候PhantomJS无法成功引入,用下面的这个命令可以解决

npm install phantomjs-prebuilt@2.1.16 --ignore-scripts

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
重写Import_Export导出动作,需要了解一些库的相关知识。在C++中,库通常分为静态库和动态库两种。静态库在编译时被链接到程序中,动态库则在程序运行时被加载。Import_Export库是一个动态链接库,因此重写导出动作需要了解动态链接库的相关知识。 在动态链接库中,导出动作是指库中的函数可以被其他程序使用。如果您需要重写Import_Export库的导出动作,需要修改库中的导出函数,或者添加新的导出函数。导出函数需要使用`__declspec(dllexport)`关键字进行标识,以便让编译器知道这个函数需要在动态链接库中导出。下面是一个简单的导出函数示例: ``` extern "C" __declspec(dllexport) void MyExportedFunction(int arg1, int arg2) { // 函数实现 } ``` 在重写Import_Export导出动作时,您需要查看原有的导出函数实现,并根据需要进行修改或完全重写。具体操作步骤如下: 1. 打开Import_Export库的源代码文件,找到需要重写导出函数。 2. 参考原有导出函数的参数和返回值类型,定义新的导出函数。 3. 实现新的导出函数,注意与原有导出函数的区别。 4. 使用`__declspec(dllexport)`关键字标识新的导出函数。 5. 重新编译Import_Export库,并测试新的导出函数是否能正常工作。 需要注意的是,重写导出动作可能会对库的其他部分产生影响,需要谨慎操作并进行充分的测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值