Pliki programu Excel można przekonwertować na CSV przy użyciu:
$ libreoffice --convert-to csv --headless --outdir dir file.xlsx
Wszystko wydaje się działać dobrze. Kodowanie jest jednak ustawione na coś dziwnego. Zamiast mdash UTF-8 (-), który otrzymuję, jeśli wykonam ręcznie „zapisz jako” z LibreOffice Calc, daje mi \ 227 ( ). Użycie pliku w CSV daje mi „tekst bez rozszerzonego ASCII bez ISO, z bardzo długimi liniami”. Tak więc dwa pytania:
- Co tu się u licha dzieje?
- Jak powiedzieć libreoffice, aby przekonwertował na UTF-8?
Konkretny plik, który próbuję przekonwertować, znajduje się tutaj .
źródło
loffice --convert-to xlsx --infilter=csv:44,34,76 input.csv
pracował dla mnie. Odniesienia .infilter
wymienione są te opcje? Link opublikowany przez @Adobe jest od dawna nieaktualny.--infilter
wydaje się, że chodzi o plik wejściowy i właśnie dlatego polecenie @Adobe działa (wejście CSV), a polecenie OP (wejście XLSX) nie - po prostu zgadujeMożesz spróbować,
Tutaj masz bardzo szczegółową pomoc na temat.
źródło
csv:"Text - txt - csv (StarCalc)":"44,34,0,1,,0"
, csv:
„podwójnie zacytowany”:
„podwójnie zacytowany”unoconv
i bezpośredniosoffice
do powiązanego zadania, może może pomóc.