include_once '../class/PHPExcel/IOFactory.php'; $reader = PHPExcel_IOFactory::createReader('Excel5'); $PHPExcel = $reader->load( $_FILES['importfile']['tmp_name'] ); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 // 一次讀取一列 for ($row = 1; $row <= $highestRow; $row++) { $v=""; //讀取一列中的每一格 for ($col = 0; $col <= 8; $col++) { //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $sheet->getCellByColumnAndRow($col , $row ) )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $sheet->getCellByColumnAndRow( $col , $row )->getValue())->format('Y-m-d'); }else{ $val = $sheet->getCellByColumnAndRow($col, $row)->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $v[$col]=addSlashes($val); } } $sql = "insert into `".$xoopsDB->prefix("contact")."` (`gsn` , `name` , `tel` , `email` , `birthday` , `zip` , `county` , `city` , `addr`) values('{$v[0]}' , '{$v[1]}' , '{$v[2]}' , '{$v[3]}' , '{$v[4]}' , '{$v[5]}' , '{$v[6]}' , '{$v[7]}' , '{$v[8]}')"; $xoopsDB->queryF($sql); } ``` ### 三、 Excel的對齊方向 ``` $objActSheet->getStyle('A1:I1')->getAlignment() ->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER) ->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER) ->setWrapText(true); ``` 對齊的值有以下這些: HORIZONTAL\_CENTER、 HORIZONTAL\_CENTER\_CONTINUOUS、 HORIZONTAL\_GENERAL、 HORIZONTAL\_JUSTIFY、 HORIZONTAL\_LEFT、 HORIZONTAL\_RIGHT、 VERTICAL\_BOTTOM、 VERTICAL\_CENTER、 VERTICAL\_JUSTIFY、 VERTICAL\_TOP ### 四、 Excel的邊框設定 ``` $objBorder=$objActSheet->getDefaultStyle()->getBorders(); $objBorder->getBottom() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN) ->getColor()->setRGB('000000'); ``` 1. getLeft()、getRight()、getBottom() 一樣比照辦理 2. 邊框的值有:BORDER\_DASHDOT、 BORDER\_DASHDOTDOT、 BORDER\_DASHED、 BORDER\_DOTTED、 BORDER\_DOUBLE、 BORDER\_HAIR、 BORDER\_MEDIUM、 BORDER\_MEDIUMDASHDOT、 BORDER\_MEDIUMDASHDOTDOT、 BORDER\_MEDIUMDASHED、 BORDER\_NONE、 BORDER\_SLANTDASHDOT、 BORDER\_THICK、 BORDER\_THIN ### 五、 把數字轉換為A、B、C欄位的方法: ``` function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` ### 六、 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ```
$objActSheet->getStyle('A1:I1')->getAlignment() ->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER) ->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER) ->setWrapText(true); ``` 對齊的值有以下這些: HORIZONTAL\_CENTER、 HORIZONTAL\_CENTER\_CONTINUOUS、 HORIZONTAL\_GENERAL、 HORIZONTAL\_JUSTIFY、 HORIZONTAL\_LEFT、 HORIZONTAL\_RIGHT、 VERTICAL\_BOTTOM、 VERTICAL\_CENTER、 VERTICAL\_JUSTIFY、 VERTICAL\_TOP ### 四、 Excel的邊框設定 ``` $objBorder=$objActSheet->getDefaultStyle()->getBorders(); $objBorder->getBottom() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN) ->getColor()->setRGB('000000'); ``` 1. getLeft()、getRight()、getBottom() 一樣比照辦理 2. 邊框的值有:BORDER\_DASHDOT、 BORDER\_DASHDOTDOT、 BORDER\_DASHED、 BORDER\_DOTTED、 BORDER\_DOUBLE、 BORDER\_HAIR、 BORDER\_MEDIUM、 BORDER\_MEDIUMDASHDOT、 BORDER\_MEDIUMDASHDOTDOT、 BORDER\_MEDIUMDASHED、 BORDER\_NONE、 BORDER\_SLANTDASHDOT、 BORDER\_THICK、 BORDER\_THIN ### 五、 把數字轉換為A、B、C欄位的方法: ``` function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` ### 六、 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ```
$objBorder=$objActSheet->getDefaultStyle()->getBorders(); $objBorder->getBottom() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN) ->getColor()->setRGB('000000'); ``` 1. getLeft()、getRight()、getBottom() 一樣比照辦理 2. 邊框的值有:BORDER\_DASHDOT、 BORDER\_DASHDOTDOT、 BORDER\_DASHED、 BORDER\_DOTTED、 BORDER\_DOUBLE、 BORDER\_HAIR、 BORDER\_MEDIUM、 BORDER\_MEDIUMDASHDOT、 BORDER\_MEDIUMDASHDOTDOT、 BORDER\_MEDIUMDASHED、 BORDER\_NONE、 BORDER\_SLANTDASHDOT、 BORDER\_THICK、 BORDER\_THIN ### 五、 把數字轉換為A、B、C欄位的方法: ``` function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` ### 六、 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ```
function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` ### 六、 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ```
$objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ```
進階搜尋
22人線上 (6人在瀏覽線上書籍)
會員: 0
訪客: 22