setPreCalculateFormulas(false); $objWriter->save('php://output'); exit; ``` ### 二、 常用方法: 1. 建立工作表並指定名稱 ``` $objPHPExcel->setActiveSheetIndex(0); //設定預設顯示的工作表 $objActSheet = $objPHPExcel->getActiveSheet(); //指定預設工作表為 $objActSheet $objActSheet->setTitle("通訊錄"); //設定標題 $objPHPExcel->createSheet(); //建立新的工作表,上面那三行再來一次,編號要改 ``` 2. 指定儲存格內容,有以下類型可設定:TYPE\_BOOL、TYPE\_ERROR、TYPE\_FORMULA、TYPE\_INLINE、TYPE\_NULL、TYPE\_NUMERIC、TYPE\_STRING ``` $objActSheet->setCellValue("A1", '姓名')->setCellValue("B1", '電話'); $objActSheet->setCellValueExplicit("C2", '0987654321',PHPExcel_Cell_DataType:: TYPE_STRING); ``` 3. 調整儲存格欄寬 ``` $objActSheet->getColumnDimension('A')->setWidth(8); //固定寬度8 $objActSheet->getColumnDimension('B')->setAutoSize(true); //自動寬度 ``` 4. 設定文字字型、粗細、顏色、儲存格背景顏色 ``` $objPHPExcel->getDefaultStyle()->getFont()->setName('微軟正黑體')->setSize(14); $objActSheet->getStyle('A1:K1')->getFont()->setBold(true)->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLUE); $objActSheet->getStyle('A1:K1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB('00D7E2F2'); ``` 5. 合併儲存格 ``` $objActSheet->mergeCells("A10:K10")->setCellValue("A10", '資料數共計'); ``` 6. 插入公式 ``` $n=$i-1; $objActSheet->setCellValue("K{$i}", "=COUNTA(E2:E{$n})"); ``` 7. 保護儲存格 ``` $objActSheet->getProtection()->setSheet(true); $objActSheet->protectCells("C{$j}", 'password'); ``` 8. 對齊方向及自動換行,對齊的值有以下這些: HORIZONTAL\_CENTER、 HORIZONTAL\_CENTER\_CONTINUOUS、 HORIZONTAL\_GENERAL、 HORIZONTAL\_JUSTIFY、 HORIZONTAL\_LEFT、 HORIZONTAL\_RIGHT、 VERTICAL\_BOTTOM、 VERTICAL\_CENTER、 VERTICAL\_JUSTIFY、 VERTICAL\_TOP ``` $objActSheet->getStyle('C')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直置中對齊 $objActSheet->getStyle('C')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平置中對齊 $objActSheet->getStyle('H')->getAlignment()->setWrapText(true); //自動換行 ``` 9. 邊框設定,getAllborders()、getTop()、getLeft()、getRight()、getBottom() 等位置,邊框的種類有: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 ``` $objActSheet->getStyle("A1:K{$j}")->getBorders()->getAllborders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN)->getColor()->setRGB('000000'); ``` 10. 把數字轉換為A、B、C欄位的方法: ``` function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` 11. 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ``` ### 三、 匯入Excel 1. 匯入的基本架構 ``` include_once TADTOOLS_PATH . '/PHPExcel/IOFactory.php'; if (preg_match('/\.(xlsx)$/i', $file_name)) { $reader = PHPExcel_IOFactory::createReader('Excel2007'); } else { $reader = PHPExcel_IOFactory::createReader('Excel5'); } $PHPExcel = $reader->load($file); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 ``` 2. 讀取出每一列 ``` for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col <= 10; $col++) { $v=$sheet->getCellByColumnAndRow($col , $row) ; //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $v )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $v->getValue())->format('Y-m-d'); }else{ $val = $v->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $data[$col]=addSlashes($val); } } $sql = "insert into … 略 … values('{$v[0]}' , '{$v[1]}' …)"; $xoopsDB->queryF($sql); } ```
$objPHPExcel->setActiveSheetIndex(0); //設定預設顯示的工作表 $objActSheet = $objPHPExcel->getActiveSheet(); //指定預設工作表為 $objActSheet $objActSheet->setTitle("通訊錄"); //設定標題 $objPHPExcel->createSheet(); //建立新的工作表,上面那三行再來一次,編號要改 ``` 2. 指定儲存格內容,有以下類型可設定:TYPE\_BOOL、TYPE\_ERROR、TYPE\_FORMULA、TYPE\_INLINE、TYPE\_NULL、TYPE\_NUMERIC、TYPE\_STRING ``` $objActSheet->setCellValue("A1", '姓名')->setCellValue("B1", '電話'); $objActSheet->setCellValueExplicit("C2", '0987654321',PHPExcel_Cell_DataType:: TYPE_STRING); ``` 3. 調整儲存格欄寬 ``` $objActSheet->getColumnDimension('A')->setWidth(8); //固定寬度8 $objActSheet->getColumnDimension('B')->setAutoSize(true); //自動寬度 ``` 4. 設定文字字型、粗細、顏色、儲存格背景顏色 ``` $objPHPExcel->getDefaultStyle()->getFont()->setName('微軟正黑體')->setSize(14); $objActSheet->getStyle('A1:K1')->getFont()->setBold(true)->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLUE); $objActSheet->getStyle('A1:K1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB('00D7E2F2'); ``` 5. 合併儲存格 ``` $objActSheet->mergeCells("A10:K10")->setCellValue("A10", '資料數共計'); ``` 6. 插入公式 ``` $n=$i-1; $objActSheet->setCellValue("K{$i}", "=COUNTA(E2:E{$n})"); ``` 7. 保護儲存格 ``` $objActSheet->getProtection()->setSheet(true); $objActSheet->protectCells("C{$j}", 'password'); ``` 8. 對齊方向及自動換行,對齊的值有以下這些: HORIZONTAL\_CENTER、 HORIZONTAL\_CENTER\_CONTINUOUS、 HORIZONTAL\_GENERAL、 HORIZONTAL\_JUSTIFY、 HORIZONTAL\_LEFT、 HORIZONTAL\_RIGHT、 VERTICAL\_BOTTOM、 VERTICAL\_CENTER、 VERTICAL\_JUSTIFY、 VERTICAL\_TOP ``` $objActSheet->getStyle('C')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直置中對齊 $objActSheet->getStyle('C')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平置中對齊 $objActSheet->getStyle('H')->getAlignment()->setWrapText(true); //自動換行 ``` 9. 邊框設定,getAllborders()、getTop()、getLeft()、getRight()、getBottom() 等位置,邊框的種類有: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 ``` $objActSheet->getStyle("A1:K{$j}")->getBorders()->getAllborders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN)->getColor()->setRGB('000000'); ``` 10. 把數字轉換為A、B、C欄位的方法: ``` function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` 11. 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ``` ### 三、 匯入Excel 1. 匯入的基本架構 ``` include_once TADTOOLS_PATH . '/PHPExcel/IOFactory.php'; if (preg_match('/\.(xlsx)$/i', $file_name)) { $reader = PHPExcel_IOFactory::createReader('Excel2007'); } else { $reader = PHPExcel_IOFactory::createReader('Excel5'); } $PHPExcel = $reader->load($file); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 ``` 2. 讀取出每一列 ``` for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col <= 10; $col++) { $v=$sheet->getCellByColumnAndRow($col , $row) ; //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $v )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $v->getValue())->format('Y-m-d'); }else{ $val = $v->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $data[$col]=addSlashes($val); } } $sql = "insert into … 略 … values('{$v[0]}' , '{$v[1]}' …)"; $xoopsDB->queryF($sql); } ```
$objActSheet->setCellValue("A1", '姓名')->setCellValue("B1", '電話'); $objActSheet->setCellValueExplicit("C2", '0987654321',PHPExcel_Cell_DataType:: TYPE_STRING); ``` 3. 調整儲存格欄寬 ``` $objActSheet->getColumnDimension('A')->setWidth(8); //固定寬度8 $objActSheet->getColumnDimension('B')->setAutoSize(true); //自動寬度 ``` 4. 設定文字字型、粗細、顏色、儲存格背景顏色 ``` $objPHPExcel->getDefaultStyle()->getFont()->setName('微軟正黑體')->setSize(14); $objActSheet->getStyle('A1:K1')->getFont()->setBold(true)->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLUE); $objActSheet->getStyle('A1:K1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB('00D7E2F2'); ``` 5. 合併儲存格 ``` $objActSheet->mergeCells("A10:K10")->setCellValue("A10", '資料數共計'); ``` 6. 插入公式 ``` $n=$i-1; $objActSheet->setCellValue("K{$i}", "=COUNTA(E2:E{$n})"); ``` 7. 保護儲存格 ``` $objActSheet->getProtection()->setSheet(true); $objActSheet->protectCells("C{$j}", 'password'); ``` 8. 對齊方向及自動換行,對齊的值有以下這些: HORIZONTAL\_CENTER、 HORIZONTAL\_CENTER\_CONTINUOUS、 HORIZONTAL\_GENERAL、 HORIZONTAL\_JUSTIFY、 HORIZONTAL\_LEFT、 HORIZONTAL\_RIGHT、 VERTICAL\_BOTTOM、 VERTICAL\_CENTER、 VERTICAL\_JUSTIFY、 VERTICAL\_TOP ``` $objActSheet->getStyle('C')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直置中對齊 $objActSheet->getStyle('C')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平置中對齊 $objActSheet->getStyle('H')->getAlignment()->setWrapText(true); //自動換行 ``` 9. 邊框設定,getAllborders()、getTop()、getLeft()、getRight()、getBottom() 等位置,邊框的種類有: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 ``` $objActSheet->getStyle("A1:K{$j}")->getBorders()->getAllborders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN)->getColor()->setRGB('000000'); ``` 10. 把數字轉換為A、B、C欄位的方法: ``` function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` 11. 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ``` ### 三、 匯入Excel 1. 匯入的基本架構 ``` include_once TADTOOLS_PATH . '/PHPExcel/IOFactory.php'; if (preg_match('/\.(xlsx)$/i', $file_name)) { $reader = PHPExcel_IOFactory::createReader('Excel2007'); } else { $reader = PHPExcel_IOFactory::createReader('Excel5'); } $PHPExcel = $reader->load($file); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 ``` 2. 讀取出每一列 ``` for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col <= 10; $col++) { $v=$sheet->getCellByColumnAndRow($col , $row) ; //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $v )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $v->getValue())->format('Y-m-d'); }else{ $val = $v->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $data[$col]=addSlashes($val); } } $sql = "insert into … 略 … values('{$v[0]}' , '{$v[1]}' …)"; $xoopsDB->queryF($sql); } ```
$objActSheet->getColumnDimension('A')->setWidth(8); //固定寬度8 $objActSheet->getColumnDimension('B')->setAutoSize(true); //自動寬度 ``` 4. 設定文字字型、粗細、顏色、儲存格背景顏色 ``` $objPHPExcel->getDefaultStyle()->getFont()->setName('微軟正黑體')->setSize(14); $objActSheet->getStyle('A1:K1')->getFont()->setBold(true)->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLUE); $objActSheet->getStyle('A1:K1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB('00D7E2F2'); ``` 5. 合併儲存格 ``` $objActSheet->mergeCells("A10:K10")->setCellValue("A10", '資料數共計'); ``` 6. 插入公式 ``` $n=$i-1; $objActSheet->setCellValue("K{$i}", "=COUNTA(E2:E{$n})"); ``` 7. 保護儲存格 ``` $objActSheet->getProtection()->setSheet(true); $objActSheet->protectCells("C{$j}", 'password'); ``` 8. 對齊方向及自動換行,對齊的值有以下這些: HORIZONTAL\_CENTER、 HORIZONTAL\_CENTER\_CONTINUOUS、 HORIZONTAL\_GENERAL、 HORIZONTAL\_JUSTIFY、 HORIZONTAL\_LEFT、 HORIZONTAL\_RIGHT、 VERTICAL\_BOTTOM、 VERTICAL\_CENTER、 VERTICAL\_JUSTIFY、 VERTICAL\_TOP ``` $objActSheet->getStyle('C')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直置中對齊 $objActSheet->getStyle('C')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平置中對齊 $objActSheet->getStyle('H')->getAlignment()->setWrapText(true); //自動換行 ``` 9. 邊框設定,getAllborders()、getTop()、getLeft()、getRight()、getBottom() 等位置,邊框的種類有: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 ``` $objActSheet->getStyle("A1:K{$j}")->getBorders()->getAllborders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN)->getColor()->setRGB('000000'); ``` 10. 把數字轉換為A、B、C欄位的方法: ``` function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` 11. 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ``` ### 三、 匯入Excel 1. 匯入的基本架構 ``` include_once TADTOOLS_PATH . '/PHPExcel/IOFactory.php'; if (preg_match('/\.(xlsx)$/i', $file_name)) { $reader = PHPExcel_IOFactory::createReader('Excel2007'); } else { $reader = PHPExcel_IOFactory::createReader('Excel5'); } $PHPExcel = $reader->load($file); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 ``` 2. 讀取出每一列 ``` for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col <= 10; $col++) { $v=$sheet->getCellByColumnAndRow($col , $row) ; //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $v )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $v->getValue())->format('Y-m-d'); }else{ $val = $v->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $data[$col]=addSlashes($val); } } $sql = "insert into … 略 … values('{$v[0]}' , '{$v[1]}' …)"; $xoopsDB->queryF($sql); } ```
$objPHPExcel->getDefaultStyle()->getFont()->setName('微軟正黑體')->setSize(14); $objActSheet->getStyle('A1:K1')->getFont()->setBold(true)->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLUE); $objActSheet->getStyle('A1:K1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB('00D7E2F2'); ``` 5. 合併儲存格 ``` $objActSheet->mergeCells("A10:K10")->setCellValue("A10", '資料數共計'); ``` 6. 插入公式 ``` $n=$i-1; $objActSheet->setCellValue("K{$i}", "=COUNTA(E2:E{$n})"); ``` 7. 保護儲存格 ``` $objActSheet->getProtection()->setSheet(true); $objActSheet->protectCells("C{$j}", 'password'); ``` 8. 對齊方向及自動換行,對齊的值有以下這些: HORIZONTAL\_CENTER、 HORIZONTAL\_CENTER\_CONTINUOUS、 HORIZONTAL\_GENERAL、 HORIZONTAL\_JUSTIFY、 HORIZONTAL\_LEFT、 HORIZONTAL\_RIGHT、 VERTICAL\_BOTTOM、 VERTICAL\_CENTER、 VERTICAL\_JUSTIFY、 VERTICAL\_TOP ``` $objActSheet->getStyle('C')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直置中對齊 $objActSheet->getStyle('C')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平置中對齊 $objActSheet->getStyle('H')->getAlignment()->setWrapText(true); //自動換行 ``` 9. 邊框設定,getAllborders()、getTop()、getLeft()、getRight()、getBottom() 等位置,邊框的種類有: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 ``` $objActSheet->getStyle("A1:K{$j}")->getBorders()->getAllborders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN)->getColor()->setRGB('000000'); ``` 10. 把數字轉換為A、B、C欄位的方法: ``` function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` 11. 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ``` ### 三、 匯入Excel 1. 匯入的基本架構 ``` include_once TADTOOLS_PATH . '/PHPExcel/IOFactory.php'; if (preg_match('/\.(xlsx)$/i', $file_name)) { $reader = PHPExcel_IOFactory::createReader('Excel2007'); } else { $reader = PHPExcel_IOFactory::createReader('Excel5'); } $PHPExcel = $reader->load($file); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 ``` 2. 讀取出每一列 ``` for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col <= 10; $col++) { $v=$sheet->getCellByColumnAndRow($col , $row) ; //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $v )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $v->getValue())->format('Y-m-d'); }else{ $val = $v->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $data[$col]=addSlashes($val); } } $sql = "insert into … 略 … values('{$v[0]}' , '{$v[1]}' …)"; $xoopsDB->queryF($sql); } ```
$objActSheet->mergeCells("A10:K10")->setCellValue("A10", '資料數共計'); ``` 6. 插入公式 ``` $n=$i-1; $objActSheet->setCellValue("K{$i}", "=COUNTA(E2:E{$n})"); ``` 7. 保護儲存格 ``` $objActSheet->getProtection()->setSheet(true); $objActSheet->protectCells("C{$j}", 'password'); ``` 8. 對齊方向及自動換行,對齊的值有以下這些: HORIZONTAL\_CENTER、 HORIZONTAL\_CENTER\_CONTINUOUS、 HORIZONTAL\_GENERAL、 HORIZONTAL\_JUSTIFY、 HORIZONTAL\_LEFT、 HORIZONTAL\_RIGHT、 VERTICAL\_BOTTOM、 VERTICAL\_CENTER、 VERTICAL\_JUSTIFY、 VERTICAL\_TOP ``` $objActSheet->getStyle('C')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直置中對齊 $objActSheet->getStyle('C')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平置中對齊 $objActSheet->getStyle('H')->getAlignment()->setWrapText(true); //自動換行 ``` 9. 邊框設定,getAllborders()、getTop()、getLeft()、getRight()、getBottom() 等位置,邊框的種類有: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 ``` $objActSheet->getStyle("A1:K{$j}")->getBorders()->getAllborders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN)->getColor()->setRGB('000000'); ``` 10. 把數字轉換為A、B、C欄位的方法: ``` function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` 11. 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ``` ### 三、 匯入Excel 1. 匯入的基本架構 ``` include_once TADTOOLS_PATH . '/PHPExcel/IOFactory.php'; if (preg_match('/\.(xlsx)$/i', $file_name)) { $reader = PHPExcel_IOFactory::createReader('Excel2007'); } else { $reader = PHPExcel_IOFactory::createReader('Excel5'); } $PHPExcel = $reader->load($file); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 ``` 2. 讀取出每一列 ``` for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col <= 10; $col++) { $v=$sheet->getCellByColumnAndRow($col , $row) ; //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $v )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $v->getValue())->format('Y-m-d'); }else{ $val = $v->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $data[$col]=addSlashes($val); } } $sql = "insert into … 略 … values('{$v[0]}' , '{$v[1]}' …)"; $xoopsDB->queryF($sql); } ```
$n=$i-1; $objActSheet->setCellValue("K{$i}", "=COUNTA(E2:E{$n})"); ``` 7. 保護儲存格 ``` $objActSheet->getProtection()->setSheet(true); $objActSheet->protectCells("C{$j}", 'password'); ``` 8. 對齊方向及自動換行,對齊的值有以下這些: HORIZONTAL\_CENTER、 HORIZONTAL\_CENTER\_CONTINUOUS、 HORIZONTAL\_GENERAL、 HORIZONTAL\_JUSTIFY、 HORIZONTAL\_LEFT、 HORIZONTAL\_RIGHT、 VERTICAL\_BOTTOM、 VERTICAL\_CENTER、 VERTICAL\_JUSTIFY、 VERTICAL\_TOP ``` $objActSheet->getStyle('C')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直置中對齊 $objActSheet->getStyle('C')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平置中對齊 $objActSheet->getStyle('H')->getAlignment()->setWrapText(true); //自動換行 ``` 9. 邊框設定,getAllborders()、getTop()、getLeft()、getRight()、getBottom() 等位置,邊框的種類有: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 ``` $objActSheet->getStyle("A1:K{$j}")->getBorders()->getAllborders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN)->getColor()->setRGB('000000'); ``` 10. 把數字轉換為A、B、C欄位的方法: ``` function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` 11. 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ``` ### 三、 匯入Excel 1. 匯入的基本架構 ``` include_once TADTOOLS_PATH . '/PHPExcel/IOFactory.php'; if (preg_match('/\.(xlsx)$/i', $file_name)) { $reader = PHPExcel_IOFactory::createReader('Excel2007'); } else { $reader = PHPExcel_IOFactory::createReader('Excel5'); } $PHPExcel = $reader->load($file); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 ``` 2. 讀取出每一列 ``` for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col <= 10; $col++) { $v=$sheet->getCellByColumnAndRow($col , $row) ; //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $v )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $v->getValue())->format('Y-m-d'); }else{ $val = $v->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $data[$col]=addSlashes($val); } } $sql = "insert into … 略 … values('{$v[0]}' , '{$v[1]}' …)"; $xoopsDB->queryF($sql); } ```
$objActSheet->getProtection()->setSheet(true); $objActSheet->protectCells("C{$j}", 'password'); ``` 8. 對齊方向及自動換行,對齊的值有以下這些: HORIZONTAL\_CENTER、 HORIZONTAL\_CENTER\_CONTINUOUS、 HORIZONTAL\_GENERAL、 HORIZONTAL\_JUSTIFY、 HORIZONTAL\_LEFT、 HORIZONTAL\_RIGHT、 VERTICAL\_BOTTOM、 VERTICAL\_CENTER、 VERTICAL\_JUSTIFY、 VERTICAL\_TOP ``` $objActSheet->getStyle('C')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直置中對齊 $objActSheet->getStyle('C')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平置中對齊 $objActSheet->getStyle('H')->getAlignment()->setWrapText(true); //自動換行 ``` 9. 邊框設定,getAllborders()、getTop()、getLeft()、getRight()、getBottom() 等位置,邊框的種類有: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 ``` $objActSheet->getStyle("A1:K{$j}")->getBorders()->getAllborders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN)->getColor()->setRGB('000000'); ``` 10. 把數字轉換為A、B、C欄位的方法: ``` function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` 11. 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ``` ### 三、 匯入Excel 1. 匯入的基本架構 ``` include_once TADTOOLS_PATH . '/PHPExcel/IOFactory.php'; if (preg_match('/\.(xlsx)$/i', $file_name)) { $reader = PHPExcel_IOFactory::createReader('Excel2007'); } else { $reader = PHPExcel_IOFactory::createReader('Excel5'); } $PHPExcel = $reader->load($file); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 ``` 2. 讀取出每一列 ``` for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col <= 10; $col++) { $v=$sheet->getCellByColumnAndRow($col , $row) ; //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $v )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $v->getValue())->format('Y-m-d'); }else{ $val = $v->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $data[$col]=addSlashes($val); } } $sql = "insert into … 略 … values('{$v[0]}' , '{$v[1]}' …)"; $xoopsDB->queryF($sql); } ```
$objActSheet->getStyle('C')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直置中對齊 $objActSheet->getStyle('C')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平置中對齊 $objActSheet->getStyle('H')->getAlignment()->setWrapText(true); //自動換行 ``` 9. 邊框設定,getAllborders()、getTop()、getLeft()、getRight()、getBottom() 等位置,邊框的種類有: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 ``` $objActSheet->getStyle("A1:K{$j}")->getBorders()->getAllborders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN)->getColor()->setRGB('000000'); ``` 10. 把數字轉換為A、B、C欄位的方法: ``` function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` 11. 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ``` ### 三、 匯入Excel 1. 匯入的基本架構 ``` include_once TADTOOLS_PATH . '/PHPExcel/IOFactory.php'; if (preg_match('/\.(xlsx)$/i', $file_name)) { $reader = PHPExcel_IOFactory::createReader('Excel2007'); } else { $reader = PHPExcel_IOFactory::createReader('Excel5'); } $PHPExcel = $reader->load($file); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 ``` 2. 讀取出每一列 ``` for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col <= 10; $col++) { $v=$sheet->getCellByColumnAndRow($col , $row) ; //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $v )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $v->getValue())->format('Y-m-d'); }else{ $val = $v->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $data[$col]=addSlashes($val); } } $sql = "insert into … 略 … values('{$v[0]}' , '{$v[1]}' …)"; $xoopsDB->queryF($sql); } ```
$objActSheet->getStyle("A1:K{$j}")->getBorders()->getAllborders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN)->getColor()->setRGB('000000'); ``` 10. 把數字轉換為A、B、C欄位的方法: ``` function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` 11. 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ``` ### 三、 匯入Excel 1. 匯入的基本架構 ``` include_once TADTOOLS_PATH . '/PHPExcel/IOFactory.php'; if (preg_match('/\.(xlsx)$/i', $file_name)) { $reader = PHPExcel_IOFactory::createReader('Excel2007'); } else { $reader = PHPExcel_IOFactory::createReader('Excel5'); } $PHPExcel = $reader->load($file); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 ``` 2. 讀取出每一列 ``` for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col <= 10; $col++) { $v=$sheet->getCellByColumnAndRow($col , $row) ; //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $v )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $v->getValue())->format('Y-m-d'); }else{ $val = $v->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $data[$col]=addSlashes($val); } } $sql = "insert into … 略 … values('{$v[0]}' , '{$v[1]}' …)"; $xoopsDB->queryF($sql); } ```
function num2alpha($n){ for($r = ""; $n >= 0; $n = intval($n / 26) - 1) $r = chr($n%26 + 0x41) . $r; return $r; } ``` 11. 利用欄、列位置順序寫入內容: ``` $objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ``` ### 三、 匯入Excel 1. 匯入的基本架構 ``` include_once TADTOOLS_PATH . '/PHPExcel/IOFactory.php'; if (preg_match('/\.(xlsx)$/i', $file_name)) { $reader = PHPExcel_IOFactory::createReader('Excel2007'); } else { $reader = PHPExcel_IOFactory::createReader('Excel5'); } $PHPExcel = $reader->load($file); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 ``` 2. 讀取出每一列 ``` for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col <= 10; $col++) { $v=$sheet->getCellByColumnAndRow($col , $row) ; //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $v )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $v->getValue())->format('Y-m-d'); }else{ $val = $v->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $data[$col]=addSlashes($val); } } $sql = "insert into … 略 … values('{$v[0]}' , '{$v[1]}' …)"; $xoopsDB->queryF($sql); } ```
$objActSheet->setCellValueByColumnAndRow($第N欄, $第N列 ,$內容); ``` ### 三、 匯入Excel 1. 匯入的基本架構 ``` include_once TADTOOLS_PATH . '/PHPExcel/IOFactory.php'; if (preg_match('/\.(xlsx)$/i', $file_name)) { $reader = PHPExcel_IOFactory::createReader('Excel2007'); } else { $reader = PHPExcel_IOFactory::createReader('Excel5'); } $PHPExcel = $reader->load($file); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 ``` 2. 讀取出每一列 ``` for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col <= 10; $col++) { $v=$sheet->getCellByColumnAndRow($col , $row) ; //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $v )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $v->getValue())->format('Y-m-d'); }else{ $val = $v->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $data[$col]=addSlashes($val); } } $sql = "insert into … 略 … values('{$v[0]}' , '{$v[1]}' …)"; $xoopsDB->queryF($sql); } ```
include_once TADTOOLS_PATH . '/PHPExcel/IOFactory.php'; if (preg_match('/\.(xlsx)$/i', $file_name)) { $reader = PHPExcel_IOFactory::createReader('Excel2007'); } else { $reader = PHPExcel_IOFactory::createReader('Excel5'); } $PHPExcel = $reader->load($file); // 檔案名稱 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始) $highestRow = $sheet->getHighestRow(); // 取得總列數 ``` 2. 讀取出每一列 ``` for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col <= 10; $col++) { $v=$sheet->getCellByColumnAndRow($col , $row) ; //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $v )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $v->getValue())->format('Y-m-d'); }else{ $val = $v->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $data[$col]=addSlashes($val); } } $sql = "insert into … 略 … values('{$v[0]}' , '{$v[1]}' …)"; $xoopsDB->queryF($sql); } ```
for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col <= 10; $col++) { $v=$sheet->getCellByColumnAndRow($col , $row) ; //格式檢查 if( PHPExcel_Shared_Date::isDateTime( $v )){ $val = PHPExcel_Shared_Date::ExcelToPHPObject( $v->getValue())->format('Y-m-d'); }else{ $val = $v->getCalculatedValue(); } if(!get_magic_quotes_runtime()) { $data[$col]=addSlashes($val); } } $sql = "insert into … 略 … values('{$v[0]}' , '{$v[1]}' …)"; $xoopsDB->queryF($sql); } ```
進階搜尋
583人線上 (216人在瀏覽線上書籍)
會員: 0
訪客: 583