2017-01-17 13 views
1

쓰기 데이터에 fputcsv를 사용하고 있습니다. 잘 작동합니다. 내가 필요로하는 것은 어떤 이름과 같은 다른 시트를 만들어야하고 그에 대한 데이터를 작성해야한다는 것입니다. 그렇게하는 방법? 안내해주십시오. 나는 이것에 익숙하지 않다. 이것은 내 코드입니다.PHP에서 fputcsv를 사용하여 데이터를 쓰는 동안 다른 시트를 만드는 방법

$filename = date("Y-m-d").".csv"; 
header('Content-type: application/csv'); 
header('Content-Disposition: attachment; filename=' . $filename); 
header("Content-Transfer-Encoding: UTF-8"); 
$fp = fopen('php://output', 'a'); 
$yetToaproveFields = array('job_no'=>'Job Number', 
         'revisioncycle'=> 'Revision Cycle', 
         'version'=>'Version', 
         'is_approved'=>'Approved Status' 
); 

fputcsv($fp, $yetToaproveFields); 

$notApproveArr = array(); 
$notApprovedValues = self::getNotApprovedJobs($_REQUEST); 
foreach ($notApprovedValues as $key=>$value) { 
    if ($value['is_approved'] == 1) 
     $value['is_approved'] = 'No'; 
    fputcsv($fp, $value); 
} 
fclose($fp); 

답변

0

수 없습니다.

CSV는 매우 간단한 데이터 파일 형식입니다. 스타일 시트 또는 여러 워크 시트와 같은 스프레드 시트 기능은 지원하지 않습니다. 여러 워크 시트를 원하는 경우에, 당신은

+0

새 시트를 만든 후 fputcsv를 사용할 수 있습니까? –

+0

아니요, CSV로 여러 장을 사용할 수 없습니다. 당신은'.csv' 파일을 만들지 않고'.xls' 또는'.xlsx' 파일을 생성하는 완전히 다른 PHP 확장자를 사용해야합니다. – roberto06

+0

답장 보내 주셔서 감사합니다. –

1

CSV 여러 시트를 지원하지 않습니다 BIFF (.xls), OfficeOpenXML (.xlsx) 또는 OASIS (.ods) 같은 스프레드 시트 파일 형식을 사용합니다, 그것은 간단한 텍스트 파일입니다. 시트를 사용하려면 Excel 확장 (예 : PHPExcel)을 사용해야합니다.

+0

이 라이브러리에서 사용 PHPEXcel은 .csv 파일을 생성 할 수 있습니다 –

+0

예, 가능하지만 CSV **는 ** 여러 시트를 지원하지 않습니다. – roberto06

+0

C 나는 단지 나의 일을 설명한다. 처음에는 누군가가 확장자가 .csv 인 파일 하나를 만들었습니다. 그들은 fputcsv를 사용하여 데이터를 작성합니다. 내가해야 할 일은 동일한 파일로 다른 시트를 만들어야한다는 것입니다. 그래서 PHPExcel을 사용한다면 이전에 사용 된 fputcsv 명령도 변경해야합니다. –