最近用到kuaidi100的端口服力, 但下载到对方的快递公司代码, 全是word文档的, 需要存储到数据库里, 有好几百条, 一条条添加太耗时了, 于是决定把word文档拷贝到excel里,然后直接导入到数据库中, 用到了phpexcel类[具体什么东东, 不知道的coder去百度科普一下], 为了方便有需要的coder使用, 这里粘贴下使用方法
1. 下载并安装phpexcel
composer require phpoffice/phpexcel
2. 将excel文件放到目录下, 我这里放到了 根目录下的 extend下, 文件名为 kuaidi.xls
3. 加载文件, 生成读取对象, 读取excel并导入到数据库
namespace app\controller;
use think\Controller;
use think\Db;
class Excel extends Controller{
public function index(){
//$excel = new \PHPExcel();
$filepath = EXTEND_PATH."kuaidi.xls"; //定义文件的实际目录
$PHPReader = new \PHPExcel_Reader_Excel2007();
//生成读取excel的对象, 注意这里new时, 要 加 \ , 否则会找不到类的
if( ! $PHPReader->canRead($filepath))
{
$PHPReader = new \PHPExcel_Reader_Excel5();
if( ! $PHPReader->canRead($filepath)){
echo 'no Excel';
return ;
}
}
$PHPExcel = $PHPReader->load($filepath); //加载要导入的excel文件
$sheet = $PHPExcel->getSheet(0); // 读取第一個工作表
$highestRow = $sheet->getHighestRow(); // 取得总行数
//$highestColumm = $sheet->getHighestColumn(); // 取得总列数
/** 循环读取每个单元格的数据 */
for ($row = 1; $row <= $highestRow; $row++){//行数是以第1行开始
$codes = $sheet->getCell("A".$row)->getValue();
$names = $sheet->getCell("B".$row)->getValue();
$data=["codes"=>$codes,"names"=>$names];
Db::name('kuaidi')->insert($data);
}
}
}
