你能给我看一下你是怎么在yii2上使用PHPExcel的吗?给例子给我看一下,谢谢 5

 我来答
YRS账号
推荐于2017-06-08 · TA获得超过851个赞
知道小有建树答主
回答量:362
采纳率:0%
帮助的人:445万
展开全部
首先,下载phpexcel的库(装了则跳过)
在composer.json 的require里边加入
"phpoffice/phpexcel": "dev-develop"
注意最后一个条目后面不要加逗号","
然后命令行执行
composer update
注:关于composer的用法请搜索一下吧

然后,就是使用方法
<?php
$file = 'excel表的完整路径';
$sheet = 0; // 默认第一个sheet

$objPHPExcel = \PHPExcel_IOFactory::load($file);
// 当前的Sheet表
$currentSheet = $objPHPExcel->getSheet($sheet);
// 一共多少列,值原为字母,转换成A为0,B为1的数字形式
$maxColumn = $currentSheet->getHighestColumn(); // 最大的列,A~Z,AA~AZ....
// 如果列数很大,需要做特殊处理,一般不会超过AAA列,因为实在太大,不考虑此种情况,只考虑AA形式的
if (strlen($maxColumn) > 1) {
$allColumn = (ord(substr($maxColumn, 0, 1)) - 64) * 26 + ord(substr($maxColumn, 1, 2)) - 65;
} else {
$allColumn = ord($currentSheet->getHighestColumn()) - 65;
}
// echo $allColumn;die;
// 一共多少行
$allRow = $currentSheet->getHighestRow();
// 从第二行开始读取数据,第一行一般为标注
for ($currentRow = 1; $currentRow <= $allRow; $currentRow++) {
$firstRowValue = $currentSheet->getCellByColumnAndRow(0, $currentRow)->getValue();
if (empty(trim($firstRowValue))) {
continue;
}
// 存储每一行的数据,从上往下,从左到右
$row = [];
for ($currentCol = 0; $currentCol <= $allColumn ; $currentCol++) {
$lastColValue = $currentSheet->getCellByColumnAndRow($currentCol, $currentRow)->getValue();
$row[] = $lastColValue;
}
// 将每一行放入$data
$data[$currentRow] = $row;
}
var_dump($data);

我是从我自己写的类改的,可能运行有错,不过你可以自行修改下
如果提示没找到phpexcel类 请use \**\**\PHPExcel 一般编辑器都有提示的
来自:求助得到的回答
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式