Linux kabuk betiğinde xlsx'i xls'ye dönüştürme


14

Kabuk komutunu kullanarak ".xlsx" dosyasını ".xls" biçimine dönüştürmem gerekiyor.

İşimde şu anda xlsx2csv komutunu kullanıyoruz ancak şimdi gereksinim değişti ve daha fazla hesaplama için tüm ".xlsx" dosyalarını ".xls" dosyalarına dönüştürmemiz gerekiyor.

Bunun için, benim işimde bazı adam ".xlsx" dönüştürmek için bir komut geliştirdi ".xls" ama, bu sadece bir sayfa için geçerlidir ..

Bir dosyada birden çok sayfa var.

Şimdiden teşekkürler....


Aynı zamanda pyxl kütüphanesi kullanılarak da yapılabilir, bunun tersi de geçerlidir: stackoverflow.com/questions/9918646/how-to-convert-xls-to-xlsx
Mark

Yanıtlar:


20

LibreOffice'i yüklerseniz, aşağıdaki komutu kullanabilirsiniz:

libreoffice --headless --convert-to xls myfile.xlsx

ya da sadece:

libreoffice --convert-to xls myfile.xlsx

son sürümde (> = 4.5) --convert-toima eder --headless.

Bu, myfile.xls dosyasını oluşturur ve orijinal myfile.xlsx dosyasını saklar; bu nedenle, dönüşümün başarılı olduğunu doğruladıktan sonra muhtemelen bir temizleme yapmanız gerekir.


Bu seçenek çok iyi, ama bir sorun olduğunu düşünüyorum, libreoffice örneği açar ve sonra ".xls" dosyasına dönüştürür. Libreoffice açmayacak ve yine de ".xls" dosyasına dönüşebilecek başka bir seçenek var mı? Bana bu konuda yardımcı olabilir misin ? @forquare
Prem Joshi

1
@PremJoshi Man sayfasında: "[--convert-to] ima ediyor - başsız." böylece GUI açılmaz. Ancak, önyüklemeden sonra ilk kez başlattığınızda, hizmetleri kaydederken (masaüstünüze bağlı olarak) bir açılış ekranı veya benzeri bir şey gösterebilir.
lgeorget

1
@Emeorget! seçenek "--headless" benim için çalıştı! sorumun cevabı buydu.
Prem Joshi

3
Yapılan tamamlama --convert-toanlamına --headlessolan gerrit.libreoffice.org/... (sürüm 4.4). Önceki sürümlerde, her iki seçeneğin de geçirilmesi gerekir.
lgeorget

1
Xlsx dosyası 65535 satır sınırının farkında olun, çünkü xlsx dosyası bu sınırı aşarsa bu komut herhangi bir uyarı mesajı yazdırmaz (hiçbir uyarı olmadan orijinal ile
uyuşmayan

6

ayrıca ssconvertgnumeric tamamlayıcı dönüştürücü aracını deneyebilirsiniz

ssconvert in.xlsx out.xls

(genellikle olduğu gibi man ssconvert)

İçin Normal durumlarda, böyle iyi. Giriş dosyası hem (libreoffice hem de gnumeric) tabanlı dönüştürücülerde çok gelişmişse , bazı ayrıntılar kaybolabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.