phpexcel如何讀和寫大於26列的excel3
阿新 • • 發佈:2019-02-01
ps:$PHPExcel = $reader->load($file_path_root . '/' . $file_name);//檔案路徑載入檔名 $sheet = $PHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); // 取得總行數 $highestColumm = $sheet->getHighestColumn(); // 取得總列數 $end_index = PHPExcel_Cell::columnIndexFromString($highestColumm);//由列名轉為列數('AB'->28) $titles = array(); $content = array(); /** 迴圈讀取每個單元格的資料 */ for ($row = 1; $row <= $highestRow; $row++) { for ($column = 0; $column < $end_index; $column++) { $col_name = PHPExcel_Cell::stringFromColumnIndex($column);//由列數反轉列名(0->'A') $value = mb_convert_encoding($sheet->getCell($col_name . $row)->getValue(), 'gbk', 'utf8');//轉碼 if ($row == 1) { //獲取表頭 $titles[] = preg_replace('/\s/', '', $value); } else { if ($sheet->getCell($col_name . $row)->getDataType() == PHPExcel_Cell_DataType::TYPE_NUMERIC) { //數字型別時,三位精度標準來比較該數是否在0,1之間,轉換為百分數,保留一位小數 if (bccomp(floatval($value), floatval('1'), 3) == -1 && bccomp(floatval($value), floatval('0'), 3) == 1) { $value = sprintf("%01.1f", $value * 100) . '%'; } } $content[$row][$column] = preg_replace('/\s/', '', $value); } } }