Finalmente, encontrei três fontes que me ajudam a colocá-lo em conjunto:
O que está faltando no meu comando acima é --infilter
, que instrui o LibreOffice nas configurações de importação . O sinalizador --convert-to
especifica apenas as configurações export .
Este comando preserva totalmente os zeros à esquerda em todos os casos de teste. A mágica é o terminal true
, que significa "citar todas as células de texto" e é equivalente à caixa de seleção do mesmo nome na caixa de diálogo de importação.
/usr/lib/libreoffice/program/soffice.bin \
--convert-to 'csv:Text - txt - csv (StarCalc):44,34,76,1' \
--infilter='CSV:44,34,76,1,,1031,true' \
--outdir '/tmp/outgoing' 'incoming.csv'
Como observação, a ordem dos argumentos é importante: --outdir
deve seguir os dois --infilter
e --convert-to
.
Além disso, parece que vários --infilter
podem ser especificados para declarar as combinações e configurações específicas permitidas.