Muszę przekonwertować plik „.xlsx” na „.xls” za pomocą polecenia powłoki.
W mojej pracy używamy obecnie polecenia xlsx2csv, ale teraz wymóg został zmieniony i musimy przekonwertować wszystkie pliki „.xlsx” na pliki „.xls” w celu dalszych obliczeń.
W tym celu jakiś facet w mojej pracy opracował jedno polecenie, które może konwertować „.xlsx” na „.xls”, ale dotyczy tylko jednego arkusza.
Mamy wiele arkuszy w jednym pliku.
Z góry dziękuję....
shell-script
excel
Prem Joshi
źródło
źródło
Odpowiedzi:
Jeśli zainstalujesz LibreOffice, możesz użyć następującego polecenia:
Lub tylko:
w najnowszej wersji (> = 4.5), co
--convert-to
sugeruje--headless
.Spowoduje to utworzenie pliku myfile.xls i zachowanie oryginalnego pliku myfile.xlsx - więc prawdopodobnie będziesz musiał wykonać czyszczenie po sprawdzeniu poprawności konwersji.
źródło
--convert-to
oznaczałoby--headless
to gerrit.libreoffice.org/... (wersja 4.4). W poprzednich wersjach obie opcje musiały zostać przekazane.możesz także wypróbować
ssconvert
narzędzie konwertera towarzyszącego programu gnumeric(jak zwykle patrz
man ssconvert
)W normalnych przypadkach jest to w porządku. Jeśli plik wejściowy jest bardzo zaawansowany w konwerterach opartych na (libreoffice i gnumeric), niektóre szczegóły mogą zostać utracone.
źródło