2009-12-02 3 views
0

나는 다음과 같이 펄을 사용하여 엑셀 파일을 .csv로 저장할 수있다 :펄을 사용하여 엑셀 xls 파일에 데이터를 저장하는 방법은 무엇입니까?

print "Content-type: application/vnd.ms-excel\n"; 
print "Content-Disposition: attachment;filename=\"file name.xls\"\n\n";  
print"Fruits, Cost";  

# 그 결과를 반복한다.

그래도 색상을 사용하려면 .xls로 저장해야합니다. 어느 누구라도 도움이 될 수 있습니까?

+0

"perl excel"에 대한 인터넷 검색을 시도해 보셨습니까? 주제에 관해서는 많은 훌륭한 자습서가 있다는 것을 알게되었습니다. –

답변

7

귀하의 요구에 맞게 Spreadsheet::WriteExcel을 적극 권장합니다. 라이브러리는 Perl로 작성되었으므로 CPAN 라이브러리를 웹 사이트에 업로드하고 특정 위치를 지정하기 만하면됩니다. 아래의 라이브러리 설명서 및 코드 스 니펫을 시작해야합니다.

#!/usr/bin/perl -w 
use strict; 
use lib qw(./lib); # Place for the downloaded WriteExcel library 
use Spreadsheet::WriteExcel; 

# Send headers 
print "Content-type: application/vnd.ms-excel\n"; 
print "Content-disposition: attachment;filename=rollcharts.org.xls\n\n"; 

# Create a new workbook and add a worksheet 
my $workbook = Spreadsheet::WriteExcel->new("-"); 
my $worksheet = $workbook->add_worksheet("Colorful Example"); 

# Create a new format with red colored text 
my $format = $workbook->add_format(); 
$format->set_color('red'); 

# Add header  
$worksheet->write(0, 0, "Fruit.", $format); 
$worksheet->write(0, 1, "Cost", $format); 

# Add Data 
$worksheet->write(1, 0, "Apple"); 
$worksheet->write(1, 1, "10.25"); 

# Close Workbook 
$workbook->close(); 
3

당신이 리치 텍스트로 슈퍼 멋진 기능이 필요하지 않은 경우, 당신은 아주 잘 작동하고 꽤 낮은 오버 헤드 Spreadsheet::WriteExcel를 사용할 수 있습니다.

편집 : 통합 문서를 STDOUT에 직접 쓰려면 my $workbook = Spreadsheet::WriteExcel->new('-');을 사용하십시오.

+0

답장을 보내 주신 Dan님께 고맙겠습니다. 그러나 라이브러리에 설치하지 않고도 할 수있는 방법이 있습니다. 많은 권한이없는 서버에 코드를 넣어야하기 때문입니다. 다시 한번 감사드립니다. – Luci

관련 문제