İsteğe bağlı gelen elektronik tablo dosyalarını rasgele gelen CSV dosyalarına dönüştürmek için Ubuntu 15.10 liman işçisi konteynerinde LibreOffice 5.0.5.2 kullanıyorum:
/usr/lib/libreoffice/program/soffice.bin \
--convert-to 'csv:Text - txt - csv (StarCalc):44,34,76,1,1/2/2/2/3/2,1031,true,false,true' \
--outdir '/tmp/outgoing' \
'incoming.csv'
Belgeleri anladığım gibi , bu komut satırı aşağıdakileri kullanarak, elektronik tabloları güvenle bir CSV'ye dönüştürmelidir:
,
alan ayırıcı olarak ("44")"
bir muhafaza karakteri olarak ("34")- Gelen kodlama olarak UTF-8 ("76")
- dosyadaki ilk satırla başla ("1")
- 1, 2 ve 3 sütunlarını metin olarak biçimlendirin ("1/2/2/2/3/2"),
- UTF-8'in giden kodlaması var ("1031") kullanın
- tüm metin hücrelerini alıntıla ("true")
- özel sayılar tespit etmeyin ("yanlış")
- hücre içeriğini gösterildiği gibi kaydet ("true")
Bu, başta sıfır bulunan bir metni içeren sütunlar dışında iyi çalışır. Örneğin, eğer öyleyse incoming.csv
:
"0123456789"
Ortaya çıkan verilen dosya şudur:
123456789
Anladığım kadarıyla, sütun içe aktarma sırasında metin olarak işaretlenmişse , baştaki sıfırları koruyacak ve sonra diğer yöne giderse, dışa aktarmadaki "tüm metin hücrelerini alıntıla" işaretinin bu korunmuş sıfırları tutacağıdır. Ancak, bazı girdiler için durum böyle görünmüyor.
Örneğin, bunlar nümerik olmayan karakterler içerdiklerinden dolayı varsayılan sıfırlarını korurlar:
0x3E
0 123 456
Komut satırını kullanarak, ihracat sırasındaki sıfırları korumak için LibreOffice'i nasıl yönlendiririm?