2016-07-25 3 views
2

일부 셀에는 numbers이 있고이 번호는 하이퍼 링크의 레이블이어야하는 Excel 파일을 만들어야합니다.Excel :: Writer :: XLSX 하이퍼 링크로 숫자 사용

그래서, 다음 데모 코드를 사용하여 :

enter image description here

다음 Excel에서 test.xlsx을 연 후

use strict; 
use warnings; 
use Excel::Writer::XLSX; 

my $workbook = Excel::Writer::XLSX->new('test.xlsx'); 
my $f_url = $workbook->add_format(color => 'blue', underline => 1); 
my $worksheet = $workbook->add_worksheet(); 

my $url = 'http://example.com/aaa='; 
my $num = 123; 

$worksheet->write_url(0, 0, $url.$num, $f_url, $num); 

$workbook->close(); 

를, 그것은 다음의 스크린 샷처럼 number stored as text에 대해 셀 - 경고 표시

을 선택한 후 convert to number을 획득 한 사용자 수 :

enter image description here

예. 올바른 숫자 (정확한 번호는 경고없이 정렬)입니다.

질문 : 정확한 세포 유형을 얻기 위해 test.xlsx을 만드는 방법은 무엇입니까? 예 : numberhyperlink?

Excel::Writer::XLSX 알고 :

write_string() 
write_number() 
write_blank() 
write_formula() 
write_url() 
write_row() 
write_col() 

하지만 (예에서 사용됨) write_url는 "텍스트"이 아닌 숫자 형 셀을 생산하고 있습니다.

경고없이 올바른 xlsx을 만들려면 여기를 참조하십시오.

답변

1

더 정확하게 문서를 읽을 필요가 있습니다. 그것은 말한다 :

당신은 당신이 _ 쓰는 다른 통화를 사용하여 셀을 덮어 쓸 수 있습니다 숫자 나 수식으로 다른 셀 데이터를 원하는 경우 *() :

그래서, 솔루션 사용중인 기기 :

$worksheet->write_url(0, 0, $url.$num, $f_url, $num); 
# adding another write after the write_url - the link remains 
$worksheet->write_number(0, 0, $num, $f_url); # and now it is an number 
관련 문제