1. 程式人生 > >EXCEL表格轉換成json資料工具

EXCEL表格轉換成json資料工具

<?php /* * 將excel轉換為陣列 by aibhsc * */ ini_set('max_execution_time', '0'); require('PHPExcel.php');//引入PHP EXCEL類 function dump($data){ echo '<pre>'; print_r($data); echo '</pre>'; } function format_excel2array($filePath='',$sheet=0){ if(empty($filePath) or !file_exists($filePath
)){die('file not exists');} $PHPReader = new PHPExcel_Reader_Excel2007(); //建立reader物件 if(!$PHPReader->canRead($filePath)){ $PHPReader = new PHPExcel_Reader_Excel5(); if(!$PHPReader->canRead($filePath)){ echo 'no Excel'
; return ; } } $PHPExcel = $PHPReader->load($filePath); //建立excel物件 $currentSheet = $PHPExcel->getSheet($sheet); //**讀取excel檔案中的指定工作表*/ $allColumn = $currentSheet->getHighestColumn(); //**取得最大的列號*/ $allRow
= $currentSheet->getHighestRow(); //**取得一共有多少行*/ $data = array(); for($rowIndex=1;$rowIndex<=$allRow;$rowIndex++){ //迴圈讀取每個單元格的內容。注意行從1開始,列從A開始 for($colIndex='A';$colIndex<=$allColumn;$colIndex++){ $addr = $colIndex.$rowIndex; $cell = $currentSheet->getCell($addr)->getValue(); if($cell instanceof PHPExcel_RichText){ //富文字轉換字串 $cell = $cell->__toString(); } $data[$rowIndex][$colIndex] = $cell; } } return $data; } function getUrl($str) { preg_match("/href=\"(.*)\" /", $str, $a); return $a[1]; } function mvtags($str){ $str = implode('|rencongcong,',$str); $str = strip_tags($str,'<p><br/><br>'); $str = explode('|rencongcong,',$str); return $str; } $arr = format_excel2array('./asp.xls'); $title = implode(',',$arr[1]); $db = array(); foreach($arr as $k=>$v){ $str = $v; $v = mvtags($v); $db[$k]['title'] = $v['0']; $db[$k]['time'] = $v['1']; $db[$k]['node_id'] = $v['2']; $db[$k]['content'] = $v['3']; $db[$k]['uid'] = $v['4']; $db[$k]['homepage'] = getUrl($str['F']); $db[$k]['demo'] = getUrl($str['G']); $db[$k]['download'] = $v['7']; } $db = json_encode($db,true); file_put_contents('./asp.json',$db,FILE_APPEND); ?>