2012-11-05 8 views
18

Eventuali duplicati:
Excel to CSV with UTF8 encodingCome posso determinare la codifica dei caratteri di un file Excel?

Scenario: Ho un file excel che contiene una grande quantità di dati dei clienti globali. Non so quale codifica è stata usata quando il file è stato creato.

Domanda: Come posso determinare la codifica dei caratteri utilizzata nel file excel in modo da poterla importare correttamente in un altro software?

+0

Credo che il problema sia discusso e risposto in http://superuser.com/ domande/280603/how-to-set-character-encoding-when-opening-excel –

+1

@ JüriRuut Not davvero, questa domanda è il contrario. E mi piacerebbe anche una risposta canonica su questo, quindi +1 alla domanda. – deceze

+0

@deceze: quindi sarebbe "esportare dati da Excel"? –

risposta

4

Per Excel 2010 deve essere UTF-8. Istruzione da MS:
http://msdn.microsoft.com/en-us/library/bb507946:.

"La struttura del documento di base di un documento SpreadsheetML consiste dei fogli e degli elementi foglio, che fanno riferimento ai fogli di lavoro della cartella di lavoro viene creato un file XML separato per ogni foglio di lavoro, ad esempio,. la SpreadsheetML per una cartella di lavoro che ha il nome di due fogli di lavoro e MySheet1 MySheet2 si trova nel file Workbook.xml ed è illustrato nel seguente esempio di codice.

file XML
<?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> 

il foglio di lavoro contiene uno o più elementi a livello di blocco, come SheetData. SheetData rappresenta la tabella di celle e contiene uno o più elementi di riga. Una riga contiene ns uno o più elementi di cella. Ogni cella contiene un elemento CellValue che rappresenta il valore della cella. Ad esempio, lo SpreadsheetML per il primo foglio di lavoro in una cartella di lavoro, che ha solo il valore 100 nella cella A1, si trova nel file Sheet1.xml e viene mostrato nel seguente esempio di codice.

<?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> 

"

rilevazione delle codifiche cellulari:

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

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

+0

come si dovrebbe trovare questi file XML per un dato file 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

Mi chiedo se questo è ancora un modo accurato per determinare la codifica dei caratteri di un foglio Excel, perché ho un foglio che contiene caratteri internazionali che sono supportati solo da UTF-16, ma l'XML lo etichetta chiaramente come 'encoding =" UTF-8 "'. Questa codifica si riferisce a qualcosa oltre al testo contenuto nel foglio? – user5359531

Problemi correlati