Mam skrypt Perl, który odczytuje dane z pliku binarnego programu Excel (xls
). Ale klient, który wysyła nam te pliki, zaczął czasami wysyłać nam pliki w formacie XLSX
. Zaktualizowałem skrypt, aby móc je czytać. Jednak klient czasami lubi nazywać pliki XLSX
z rozszerzeniem .xls
, które obecnie mylą mój skrypt, ponieważ używa nazwy pliku do określenia, który to typ pliku.W jaki sposób mój skrypt Perla może ustalić, czy plik Excel jest w formacie XLS czy XLSX?
Plik XLSX
to plik zip, który zawiera pliki XML. Czy istnieje prosty sposób, aby mój skrypt sprawdził plik i czy jest to plik zip, czy nie? Jeśli tak, mogę zmienić mój skrypt zamiast tylko nazwy pliku.
Aby być bardziej szczegółowym, pierwsze 4 bajty to '' PK \ 003 \ 004 "'. – cjm
Chociaż prawdopodobnie dotyczy to wszystkich plików .xlsx produkowanych przez poszczególne aplikacje, format pliku ZIP tego nie wymaga - patrz http://en.wikipedia.org/wiki/Zip_file#Structure. –
Tak! Tego właśnie oczekiwałem; szybki i łatwy sposób sprawdzenia pliku, najlepiej bez użycia kolejnego modułu. Dzięki! – DaveKub