2012-11-05 17 views
18

Powiel możliwe:
Excel to CSV with UTF8 encodingJak określić kodowanie znaków pliku Excel?

Scenariusz: Mam plik Excel zawierający dużą ilość danych globalnych klientów. Nie wiem, jakie kodowanie było używane podczas tworzenia pliku.

Pytanie: Jak mogę określić kodowanie znaków używane w pliku Excel, aby móc go poprawnie zaimportować do innego oprogramowania?

+0

myślę, że problem jest omawiany i odpowiedzi http://superuser.com/ pytania/280603/how-to-set-character-encoding-when-opening-excel –

+1

@ JüriRuut Not tak naprawdę to pytanie jest na odwrót. Chciałbym również uzyskać odpowiedź kanoniczną na ten temat, więc daj +1 na pytanie. – deceze

+0

@deceze: to byłby "eksport danych z Excela"? –

Odpowiedz

4

W przypadku programu Excel 2010 powinien to być kod UTF-8. Nauka przez MS:
http://msdn.microsoft.com/en-us/library/bb507946.

„Podstawowa struktura dokumentu dokumentu SpreadsheetML składa się z arkuszy i elementów arkusza, który referencyjne arkusze w skoroszycie Osobny plik XML jest tworzony dla każdego arkusza Na przykład. SpreadsheetML do skoroszytu, który ma nazwę dwa arkusze MySheet1 i MySheet2 znajduje się w pliku Workbook.xml i jest pokazane w poniższym przykładzie kodu.

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
<workbook xmlns=http://schemas.openxmlformats.org/spreadsheetml/2006/main xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"> 
    <sheets> 
     <sheet name="MySheet1" sheetId="1" r:id="rId1" /> 
     <sheet name="MySheet2" sheetId="2" r:id="rId2" /> 
    </sheets> 
</workbook> 

arkuszu pliki XML zawiera jeden lub więcej elementów, takich jak poziom blok SheetData. SheetData reprezentuje tabelę komórek i zawiera jeden lub więcej elementów Row ns jeden lub więcej elementów Cell. Każda komórka zawiera element CellValue, który reprezentuje wartość komórki. Na przykład Arkusz kalkulacyjny dla pierwszego arkusza skoroszytu, który ma tylko wartość 100 w komórce A1, znajduje się w pliku Sheet1.xml i jest pokazany w poniższym przykładzie kodu.

<?xml version="1.0" encoding="UTF-8" ?> 
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"> 
    <sheetData> 
     <row r="1"> 
      <c r="A1"> 
       <v>100</v> 
      </c> 
     </row> 
    </sheetData> 
</worksheet> 

"

Wykrywanie kodowania komórkowych:

https://metacpan.org/pod/Spreadsheet::ParseExcel::Cell

http://forums.asp.net/t/1608228.aspx/1

+0

jak znaleźć te pliki XML dla danego pliku Excel? – user5359531

+0

@ user5359531: [http://stackoverflow.com/questions/8984254/how-to-view-the-xml-form-of-an-excel-file](http://stackoverflow.com/questions/8984254/ how-to-view-the-xml-form-of-an-excel-file) – Scarabee

+0

Zastanawiam się, czy to nadal jest dokładny sposób określenia kodowania znaków w arkuszu Excela, ponieważ mam arkusz zawierający znaki międzynarodowe obsługiwane tylko przez UTF-16, ale kod XML wyraźnie określa go jako "kodowanie =" UTF-8 ". Czy to kodowanie odnosi się do czegoś poza tekstem zawartym w arkuszu? – user5359531

Powiązane problemy