PHPExcel excel 데이터 읽기
7820 단어 phpexcel
require_once 'PHPExcel.php'; $PHPReader = new PHPExcel_Reader_Excel2007(); $filePath = 'wjyl.xlsx'; if(!$PHPReader->canRead($filePath)){ $PHPReader = new PHPExcel_Reader_Excel5();// } $PHPExcel = $PHPReader->load($filePath);// Excel $sheetCount = $PHPExcel->getSheetCount();// for($s = 0; $s < $sheetCount; $s++){ echo '<b> '.$s."</b><br />"; $currentSheet = $PHPExcel->getSheet($s); // excel $allColumn = $currentSheet->getHighestColumn(); // $allRow = $currentSheet->getHighestRow();// for($currentRow = 2; $currentRow < $allRow; $currentRow++){ for($currentColumn= 'A';$currentColumn < $allColumn; $currentColumn++){ $val = $currentSheet->getCell($currentColumn.$currentRow)->getValue(); echo $val." "; } echo "<br />"; }
} echo 'Well Done!!!'; exit; /** , iconv , gb2312 utf-8 */ //echo iconv('utf-8','gb2312', $val);
excel표의 총 열수가 26을 넘었을 때, 즉 Z를 넘었을 때, 계속 증가하면 AA, AB, AC로 상승한다...AZ 형식입니다. 이 경우 위 코드는 열 순환에서 첫 번째 A만 순환합니다.
알파벳 비교에 대한 이해:
알파벳의 비교는 실제적으로 알파벳이 ASCII 테이블에 대응하는 10진수 크기의 비교이다. 예를 들어 A의 ASCII 테이블에서 10진수는 65, Z는 90이다.
echo ord('A');//65
echo ord('Z');//90
비교 규칙:
A와 AB를 비교하면 우선, A와 AB 중의 A를 비교하면 같기 때문에 A를 건너뛰고 계속 B와 비교하면
echo 'A' < 'AB' ? 1 : 0;//1
A와 AA를 비교할 때 먼저 알파벳을 하나씩 비교하고 각각이 같은 상황에서 마지막에 문자열의 길이를 비교한 결과
echo 'A' < 'AA' ? 1 : 0;//1
A와 BA를 비교하면 우선 A와 B를 비교하면 A가 B보다 작아서 결과를 얻는다
echo 'A' < 'BA' ? 1 : 0;//1
결과: 예를 들어 위의 마지막 열이 AP이고 A는 먼저 allRow의 첫 번째 알파벳과 비교한다. 같은 알파벳은 건너뛰고 두 번째 알파벳과 비교한다. A
A이기 때문에 첫 번째 알파벳의 판단은 성립되지 않고 순환을 종료한다.
해결 방법:
$ColumnArr = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP'); for($currentRow = 2;$currentRow <= $allRow;$currentRow++){ for($c_Column= 0;$c_Column < count($ColumnArr); $c_Column++){ $val = $currentSheet->getCell($ColumnArr[$c_Column].$currentRow)->getValue(); echo $val." "; } echo "<br />"; }
해결 방법의 원리는 열의 순환이 순조롭게 진행될 수 있도록 확보하는 것이다. 위에 고정된 열에서 나온 수조는 이해하기 편리하고 구체적인 조작은 $allCloumn에 대해 동적으로 열과 관련된 데이터를 처리할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
php 그룹을 excel로 내보내기이것은 제가ci의helpers 아래에 보조 함수로 썼습니다. 코드는/applications/helpers/export_로 저장됩니다excel_helper.php하면 돼요....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.