PHP 导入execl

/**
* @param $filename 上传文件路径及名字
* @param string $encode 编码
* @return array
* PHPExecl类 上传文件
*/
function read($filename, $encode = 'utf-8')
{
require_once './ThinkPHP/Library/Org/PHPExcel/PHPExcel.php';
require_once './ThinkPHP/Library/Org/PHPExcel/PHPExcel/IOFactory.php';
require_once './ThinkPHP/Library/Org/PHPExcel/PHPExcel/Reader/Excel5.php';
$objReader = \PHPExcel_IOFactory::createReader('excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($filename);
$objWorksheet = $objPHPExcel->getActiveSheet();
$highestRow = $objWorksheet->getHighestRow();
$highestColumn = $objWorksheet->getHighestColumn();
$highestColumnIndex = \PHPExcel_Cell::columnIndexFromString($highestColumn);
$excelData = array();
for ($row = 1; $row <= $highestRow; $row++) {
for ($col = 0; $col < $highestColumnIndex; $col++) {
$excelData[$row][] = (string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
}
}
return $excelData;

}

/**
* 上传execl表格
*/
public function importExcel()
{

if (!empty ($_FILES)) {

$upload = new \Think\Upload(); // 实例化上传类

$upload->maxSize = 10485760; // 设置附件上传大小

$upload->exts = array('xls', 'xlsx'); // 设置附件上传类型

$savePath = $upload->rootPath = './Public/Excel/'; // 设置附件上传根目录
$file_name = $upload->saveName = date("ymd") . rand(100, 999);
$upload->autoSub = false; // 将自动生成以photo后面加时间的形式文件夹,关闭


// 上传文件

$info = $upload->upload();
$exts = $info['excel']['ext'];
if (!$info) {
$this->error($upload->getError());
} else {
$res = $this->read($savePath . $file_name . '.' . $exts);
foreach ($res as $k => $v) {
if ($k != 1) {
$data ['id'] = $v [0];
$data ['ci'] = $v [1];
$data ['juzi'] = $v [2];
$data ['ci_name'] = $v [3];
$data ['ju_name'] = $v [4];
$data ['time'] = date('Ymd');
$result = M('make_mp3')->add($data);
// echo M('make_mp3')->_sql();die;
if (!$result) {
$this->error('导入数据库失败');
}
}
}
$this->success('新增成功!', '/index.php?m=Home&c=Spvoice&a=toDay');
}
} else {
$this->display();
}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值