Czy możesz zapisać wybór czcionki w pliku CSV?

1

Mam plik XLSX, w którym są dwie różne czcionki. Jedna komórka zawiera język angielski, a druga zawiera inny język. Chciałbym zapisać ten plik XLSX jako plik CSV bez utraty czcionek. czy to możliwe?

user380206
źródło

Odpowiedzi:

1

Wybór czcionki nie jest zapisywany podczas zapisywania jako plik CSV, tylko same dane. Jeśli chcesz zapisać go dokładnie tak, jak wygląda teraz, czcionki i wszystko, może zajść potrzeba użycia innego formatu, np. .xls lub .xlsx.

Niestety obsługa Excela w wielu językach przy zapisywaniu nie jest zbyt dobra. Próbowałem zapisać następujące (dwie kolumny w programie Excel)

aeou    aeou
äöüß    äöüß
âêôû    âêôû

jako CSV i wygenerował następujące:

aeou,aeou
הצ,הצ
גךפ,גךפ

Jeśli rzeczywiście próbujesz po prostu zapisać dane zawierające wiele języków przy użyciu pliku rozdzielanego, możliwym rozwiązaniem jest zapisanie go jako „Tekst Unicode” zamiast CSV. Wygeneruje plik rozdzielany tabulatorami (zamiast przecinka), a plik będzie miał rozszerzenie .txt (zamiast .csv ), ale może to być sposób na obejście bieżącego problemu.

Matt Champion
źródło
1

Dlaczego potrzebujesz różnych czcionek dla różnych języków?

CSV oznacza wartości rozdzielone przecinkami. I to jest po prostu takie. Jest to tekst z wartościami oddzielonymi przecinkami (lub, w niektórych wersjach, średnikami lub innymi ogranicznikami). Jest to w zasadzie zwykły plik tekstowy, który można otworzyć i edytować za pomocą edytora tekstu.

Formaty tekstu sformatowanego mogą zawierać metadane, takie jak czcionka, której należy użyć. Zwykły plik tekstowy naprawdę zawiera tekst i nic więcej . Format CSV nie zapewnia żadnego miejsca, w którym mogłyby być przechowywane informacje o czcionkach.

Chociaż plik CSV nie może zawierać informacji o czcionkach, może on w zasadzie być w dowolnym kodowaniu tekstu 1 . Zasadniczo plik CSV można zapisać w kodowaniu Unicode, takim jak UTF-8 lub UTF-16. W zasadzie to zadziała. Kodowanie Unicode obejmuje wszystko, co obejmuje inne kodowanie. Jeśli jest to tekst i może być reprezentowany na komputerze, może być reprezentowany w Unicode. Twój edytor CSV zdecyduje, której czcionki użyć, i prawdopodobnie, jeśli jest przyzwoity, wybierz taką, która pasuje. Na przykład, jeśli plik zawiera znaki, których domyślna czcionka nie zawiera, automatycznie użyje innej czcionki dla tych znaków.

W praktyce będzie to prawdopodobnie działało z Libre Office lub OpenOffice, ale Microsoft Excel nie lubi plików CSV w kodowaniach innych niż Latin-1 i nie gra z nimi dobrze. To jest porażka w Microsoft Office.

Obejście 1: Użyj Libre Office lub OpenOffice.

Obejście 2: Wygeneruj Unicode rozdzielany tabulatorami 2 plik, jak zasugerował Matt Champion .


1 Cóż, każde kodowanie tekstu, które zawiera znak przecinka. ASCII zawiera przecinek, a ogromna większość innych kodowań tekstu to supersystemy ASCII, ale istnieje jedno lub dwa kodowania, które nie zawierają przecinka. Binary SignWriting jest jednym z przykładów.

2 Unicode to właściwie szeroka rodzina kodowań, a nie jedno kodowanie. To, co Microsoft nazywa „Unicode”, to w rzeczywistości UTF-16 LE, które jest jednym z kodowań Unicode.

TRiG
źródło