kinghinds 2016-03-31 09:45:45 22732次浏览 7条评论 11 3 0

之前没有做过yii2的导入导出功能,这一次项目需要,做了这样的工作。一开始只是需要做导出功能,然后参考了下列的方法使用composer完成了这个功能,链接如下:http://www.yiiframework.com/extension/yii2-export2excel/。但是,发现这个只能做导出,导入功能不知道怎么实现,关键是composer自己电脑竟然用不了,没办法,只能自己摸索着手动加入PHPExcel。看了一下之前的一个前辈做的部分功能,对比了一些配置文件,导入导出成功的实现了。下面就是一些具体步骤: (共享了代码文件和截图:https://yunpan.cn/cqQizJankJZ2e 访问密码 edfd)

1.先下载PHPExcel http://phpexcel.codeplex.com/releases/view/119187

2.修改框架配置文件,vendor/composer/autoload_files.php 加入:

$vendorDir . '/PHPExcel_1.8.0/Classes/PHPExcel_required.php',

这个很重要,没有做这一步的话会出现找不到PHPExcel类的错误。

3.修改文件 /vendor/yiisoft/extensions.php

4.在 vendor\yiisoft 加入文件夹 yii2-phpexcel,里面有个一文件 Yiiexcel.php

5.自己写的一个导入导出类:

6.实际使用:

使用导入导出.png

觉得很赞
  • 评论于 2016-04-04 16:26 举报

    老师,我的autoload_files.php文件里面的array数组是这个样子的啊!

    <?php
    // autoload_files.php @generated by Composer
    $vendorDir = dirname(dirname(__FILE__));
    $baseDir = dirname($vendorDir);
    return array(
        '2cffec82183ee1cea088009cef9a6fc3' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php',
        '2c102faa651ef8ea5874edb585946bce' => $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',
    );
    

    加入你的那个
    $vendorDir . '/PHPExcel_1.8.0/Classes/PHPExcel_required.php',
    这个无是空白的,无法显示出来啊!
    这个怎么办啊?

    3 条回复
    评论于 2016-04-18 18:12 回复

    你找一下\vendor\composer\autoload_real.php 文件里面是否有ComposerAutoloaderInit2cffec82183ee1cea088009cef9a6fc3 这个类,如果有的话,你可以复制一下然后修改修改。

    评论于 2016-04-18 18:13 回复

    实在搞不定可以加我QQ759371065,我直接回复你

    评论于 2016-09-23 21:46 回复

    在么 我加不上你的qq,有问题验证

  • 评论于 2016-08-09 17:24 举报

    加不上 老师要验证

  • 评论于 2016-08-09 18:43 举报

    PHPExcel_required 一直找不到这个文件

    2 条回复
    评论于 2016-08-28 00:46 回复

    应该是PHPExcel.php文件

    评论于 2016-09-01 09:43 回复

    也没有这文件呀

  • 评论于 2016-09-01 09:26 举报

    3.修改文件 /vendor/yiisoft/extensions.php
    改什么呀,没有写哦

  • 评论于 2016-09-01 09:43 举报

    2.修改框架配置文件,vendor/composer/autoload_files.php 加入:

    $vendorDir . '/PHPExcel_1.8.0/Classes/PHPExcel_required.php',

    这个很重要,没有做这一步的话会出现找不到PHPExcel类的错误。
    没有PHPExcel_required.php文件

    1 条回复
    评论于 2017-07-03 10:22 回复

    键值怎么写 只要不重复就可以吗

  • 评论于 2016-09-01 11:15 举报

    init()方法 new NetworkStrategyForm()是哪来的
    下面的ReadExcel("./sampleData/tem-max.xlsx");这参数又哪来的

    1 条回复
    评论于 2016-09-22 14:41 回复

    兄弟,你做出来了么?

  • 评论于 2017-08-09 09:32 举报

    做不出来啊, 还不如直接用扩展 phpoffice得了。

您需要登录后才可以评论。登录 | 立即注册