最近用到kuaidi100的端口服力, 但下載到對(duì)方的快遞公司代碼, 全是word文檔的, 需要存儲(chǔ)到數(shù)據(jù)庫(kù)里, 有好幾百條, 一條條添加太耗時(shí)了, 于是決定把word文檔拷貝到excel里,然后直接導(dǎo)入到數(shù)據(jù)庫(kù)中, 用到了phpexcel類(lèi)[具體什么東東, 不知道的coder去百度科普一下], 為了方便有需要的coder使用, 這里粘貼下使用方法
1. 下載并安裝phpexcel
composer require phpoffice/phpexcel
2. 將excel文件放到目錄下, 我這里放到了 根目錄下的 extend下, 文件名為 kuaidi.xls
3. 加載文件, 生成讀取對(duì)象, 讀取excel并導(dǎo)入到數(shù)據(jù)庫(kù)
namespace app\controller;
use think\Controller;
use think\Db;
class Excel extends Controller{
public function index(){
//$excel = new \PHPExcel();
$filepath = EXTEND_PATH."kuaidi.xls"; //定義文件的實(shí)際目錄
$PHPReader = new \PHPExcel_Reader_Excel2007();
//生成讀取excel的對(duì)象, 注意這里new時(shí), 要 加 \ , 否則會(huì)找不到類(lèi)的
if( ! $PHPReader->canRead($filepath))
{
$PHPReader = new \PHPExcel_Reader_Excel5();
if( ! $PHPReader->canRead($filepath)){
echo 'no Excel';
return ;
}
}
$PHPExcel = $PHPReader->load($filepath); //加載要導(dǎo)入的excel文件
$sheet = $PHPExcel->getSheet(0); // 讀取第一個(gè)工作表
$highestRow = $sheet->getHighestRow(); // 取得總行數(shù)
//$highestColumm = $sheet->getHighestColumn(); // 取得總列數(shù)
/** 循環(huán)讀取每個(gè)單元格的數(shù)據(jù) */
for ($row = 1; $row <= $highestRow; $row++){//行數(shù)是以第1行開(kāi)始
$codes = $sheet->getCell("A".$row)->getValue();
$names = $sheet->getCell("B".$row)->getValue();
$data=["codes"=>$codes,"names"=>$names];
Db::name('kuaidi')->insert($data);
}
}
}
