2012-08-16 25 views
6

Questo è un problema molto simile a quello descritto here. Tuttavia, ho bisogno di farlo orizzontalmente, e i miei problemi si verificano con la data . Sono su un Mac.Converti correttamente XLSX in CSV

This è un'immagine del mio documento .xlsx. Ho molte voci come quelle delle prime tre righe e voglio convertirle in CSV come le ultime tre. Ma il mio problema è questo:

  • 2012-08-16 (in A1) diventa 41137 (in formato A4)
  • La mia sessione dalle ore 08:00 alle 09:00 è lunga 1:00 ora (vedi H1 e I1 e J1) diventa un pasticcio - , 0,333333333333333,0,375,
  • la mia sessione 9:00-10:00 ha lo stesso problema come quello di cui sopra, solo che i numeri sono disordinati diversi.

Il mio obiettivo finale è quello di esportare il mio foglio dei tempi in .xlsx toggl

P.S. I problemi minori che possono portare a quelli reali:

  • A1 2012/08/16 diventa 16-ago-12
  • J1 01:00:00 diventa 01:00 così come diventa 08:00:00 08:00 e 09:00 diventano 08:00:00 e così via.

risposta

7

La soluzione più semplice è semplicemente "Salva con nome ..." e selezionare CSV come tipo di file.

Immagino che tu stia cercando di farlo in qualche modo automatico. Se le seguenti ipotesi sono vere:

  • siete su una piattaforma Windows
  • Excel è installato

il modo più semplice per convertire "XLSX" a "CSV" è con un po 'di VB script:

Set objArgs = WScript.Arguments 
InputName = objArgs(0) 
OutputName = objArgs(1) 
Set objExcel = CreateObject("Excel.application") 
objExcel.application.visible=false 
objExcel.application.displayalerts=false 
set objExcelBook = objExcel.Workbooks.Open(InputName) 
objExcelBook.SaveAs OutputName, 23 
objExcel.Application.Quit 
objExcel.Quit 

Richiamare questo come:

wscript script.vbs C:\...\file.xlsx C:\...\file.csv 

Aggiornamento: Dai un'occhiata a questo posting che esegue la conversione con uno script Perl.

Aggiornamento 2 Apparentemente il codice VBA è pignolo rispetto ai percorsi. I percorsi non qualificati vengono risolti rispetto alla directory dei documenti. Quindi, per risultati riproducibili, utilizzare un percorso completo per i file di input e di output.

+0

Sono su un mac. Sì, desidero farlo in modo automatico. – jacob

+0

Ho provato questo per curiosità e ottengo un ''file.xlsx' non trovato. Controllare l'ortografia del nome del file e verificare che il percorso del file sia corretto. Ho eseguito il comando da Prompt dei comandi dalla directory in cui si trovano tutti i file. – cusman

+0

Prova a utilizzare un percorso completo per file.xlsx. –