2011-10-01 5 views
1

PHP/MySQL과 결합 된 많은 Excel 조작을 위해 PHPExcel 라이브러리를 사용하고 있습니다. 그게 도움이됩니다.PHPExcel : Excel 문서를 시트로 나누기

그러나 Excel 문서를 새 Excel 문서로 만든 각 시트별로 나누는 방법을 생각할 수 없습니다.

또한 새 Excel 문서에서 원본 문서에있는 빈 줄을 삭제해야합니다 (최종 문서 정리).

가장 좋은 방법은 무엇입니까?

귀하의 모든 경험을 높이 평가합니다.

감사합니다.

답변

2

나는 내가 원하는 것을 발견했다. 여기

는 솔루션입니다 (아마 가장 좋은 방법,하지만 충분히 잘 작동) :

$file = $_POST['file']; 
$filename = pathinfo($file, PATHINFO_FILENAME); 

require_once 'phpexcel/Classes/PHPExcel.php'; 

$xls = new PHPExcel(); 
$xlsReader= new PHPExcel_Reader_Excel5(); 
$xlsTemplate = $xlsReader->load($file); 

$sheet1 = $xlsTemplate->getSheetByName('Sheet1'); 
$xls->addExternalSheet($sheet1,0); 
$xls->removeSheetByIndex(1); 
$xlsWriter = new PHPExcel_Writer_Excel5($xls); 
$xlsWriter->save($filename."_Sheet1.xls"); 

$sheet2 = $xlsTemplate->getSheetByName('Sheet2'); 
$xls->addExternalSheet($sheet2,0); 
$xls->removeSheetByIndex(1); 
$xlsWriter = new PHPExcel_Writer_Excel5($xls); 
$xlsWriter->save($filename."_Sheet2.xls"); 

$sheet3 = $xlsTemplate->getSheetByName('Sheet3'); 
$xls->addExternalSheet($sheet3,0); 
$xls->removeSheetByIndex(1); 
$xlsWriter = new PHPExcel_Writer_Excel5($xls); 
$xlsWriter->save($filename."_Sheet3.xls"); 

$sheet4 = $xlsTemplate->getSheetByName('Sheet4'); 
$xls->addExternalSheet($sheet4,0); 
$xls->removeSheetByIndex(1); 
$xlsWriter = new PHPExcel_Writer_Excel5($xls); 
$xlsWriter->save($filename."_Sheet4.xls"); 

$sheet5 = $xlsTemplate->getSheetByName('Sheet5'); 
$xls->addExternalSheet($sheet5,0); 
$xls->removeSheetByIndex(1); 
$xlsWriter = new PHPExcel_Writer_Excel5($xls); 
$xlsWriter->save($filename."_Sheet5.xls"); 

$sheet6 = $xlsTemplate->getSheetByName('Sheet6'); 
$xls->addExternalSheet($sheet6,0); 
$xls->removeSheetByIndex(1); 
$xlsWriter = new PHPExcel_Writer_Excel5($xls); 
$xlsWriter->save($filename."_Sheet6.xls"); 

을 그리고, 내 원래 Excel 파일을 내가 원하는대로 해주기 6 개 Excel 파일에서 갈라진다 6 장을 포함 .

당신이 볼 수 있듯이

, 해제 그렇게 어렵지 않았다,하지만 문서는이 도움이 될 수 있습니다

희망 ... 혼란이다.

관련 문제