2011-11-01 2 views
5

암호로 보호 된 XSLX 파일에서 일부 필드를 읽는 간단한 perl 스크립트를 작성하려고합니다.Perl로 리눅스 (및 windows)에서 암호로 보호 된 XLSX 읽기

나는 Spreadsheet::XLSXSimpleXlsx을 보았지만 암호로 보호 된 파일을 지원하지 않는 것으로 보입니다.

어떻게 할 수 있습니까? 는 Win32 :: OLE 를 사용

이은과 같이 수행됩니다

my $Book = 
    $Excel->Workbooks->Open({ FileName => $file, Password => $password }); 
+0

응답을 보내 주셔서 감사합니다. 운좋게도 필자는 구식 xsl을 읽을 수있는 옵션이 있으며 이것은 Spreadsheet :: ParseExcel을 사용하여 간단합니다. – Jim

+0

필자의 제안은 기본적으로 XLSX를 XLS로 다시 변환하여 XLS로 변환 할 수 있다는 것을 감안할 때 읽을 수 있기 때문에 이전 XLS로 제공되는 파일을 가져올 수 있다면 더 좋은 방법입니다.) – Ian

답변

3

현재의 Perl xlsx 읽기 모듈은 암호화 된 파일 읽기를 지원하지 않습니다.

암호화 된 XML 파일이 일반적인 ZIP 컨테이너가 아닌 OLE 컨테이너 문서에 저장되기 때문에 이러한 파일의 암호를 해독하는 것은 쉽지 않습니다.

1

이 오픈 오피스/LibreOffice와 가진 행할 수 "한다". 조합은 말할 것도없이 xlsx 및 암호화 된 파일 지원에 대한 몇 가지 버그가있는 것 같습니다. 따라서 먼저 LibreOffice GUI에서 파일을 열어 보려고합니다. 특정 파일에 대해 작동하는 경우 라이브러리 또는 명령 줄을 통해 호출하십시오.

OpenOffice::OODOC은 Perl 커넥터입니다. 작동하지 않는 경우 명령 줄을 사용하여 암호로 보호되지 않은 파일로 변환 한 다음 선택한 도구에서 열 수 있습니다.

관련 문제