2012-06-29 1 views
0

xls 파일을 여러 장 생성하고 싶습니다. 그래서, 나는 아래 링크에서 도움을 받았다. 난 내 XLS 파일에 여러 개의 시트를 만들 수 있었다 같은에서 튜토리얼 문서를 사용xls 파일의 외부 및 내부 링크 genration을 배로 사용

http://pear.php.net/package/Spreadsheet_Excel_Writer

. 즉, 내 test.xls 파일에서 나는 sheet1, sheet2, sheet2 등을 만들 수있었습니다.

이제 sheet2의 데이터를 표시하도록 sheet1의 내용에 링크를 추가하고 싶습니다. Worksheet :: writeUrl 메서드를 사용하려고했습니다. 그러나, 나는 내용에있는 연결을 두는 실패했다.

샘플 코드는 아래에 주어진되었습니다

require_once 'Spreadsheet/Excel/Writer.php'; 

$workbook = new Spreadsheet_Excel_Writer(); 

$workbook->send('test.xls'); 

$worksheet =& $workbook->addWorksheet('Report'); 
$worksheet1 =& $workbook->addWorksheet('John Smith'); 


$sheet = "John Smith"; 


$worksheet->write(0, 0, 'Name'); 
$worksheet->write(0, 1, 'Age'); 

$format =& $worksheet->writeUrl(1,0 ,"internal:".$sheet."!A1", $sheet); 


$worksheet->write(1, 1, 30); 
$worksheet->write(2, 0, 'Johann Schmidt'); 
$worksheet->write(2, 1, 31); 
$worksheet->write(3, 0, 'Juan Herrera'); 
$worksheet->write(3, 1, 32); 


$worksheet1->write(0, 0, 'Name'); 
$worksheet1->write(0, 1, 'Age'); 
$worksheet1->write(1, 0, 'aaaaaa'); 
$worksheet1->write(1, 1, 30); 
$worksheet1->write(2, 0, 'bbbbb'); 
$worksheet1->write(2, 1, 31); 
$worksheet1->write(3, 0, 'ccccc'); 
$worksheet1->write(3, 1, 32); 


$workbook->close(); 

링크를 추가 제발 도와주세요.

답변

1

시트 이름에 공백이 있으므로 하이퍼 링크에 인용해야합니다. 그

'internal:John Smith'!A1 

또는

internal:'John Smith'!A1 

후자의 의심을 의미하는 경우 나는 기억하지 수 있지만 실제로

+0

죄송합니다 확인하지 않은하지만 난 시트 이름에 공간을 찾을 수 없습니다. 나는 시트 이름을 "JohnSmith"로 사용하여 확인했습니다. – Debashis

+0

많은 수정을 한 후, Microsoft Excel을 사용하여 파일을 열면 엑셀 시트의 링크가 성공적으로 작동합니다. 그러나 LibreOffice (오픈 소스)에서는 링크가 작동하지 않습니다. – Debashis

+0

** 내부 : 'John Smith'! A1 **이 실제로 작동합니다. - MS Excel에 있습니다. OpenOffice는 그것을 링크로 해석하지 않고 파란색 밑줄이 그어진 텍스트 셀을 표시합니다. – vbence