2012-08-16 5 views
6

here과 매우 유사한 문제입니다. 그러나 나는 그것을 수평으로 할 필요가 있고 내 문제는 으로 발생한다. 나는 Mac에있다.XLSX를 CSV로 올바르게 변환하십시오.

This은 내 .xlsx 문서의 그림입니다. 처음 세 행에있는 항목과 같이 많은 항목이 있으며 마지막 세 항목으로 CSV로 변환하려고합니다. (A1)에

  • 2012년 8월 16일는
  • 9시부터 8시까지에서 내 세션이 1시 시간 길이 (H1 참조 (A4)에 41,137이된다

    :하지만 내 문제는 이것이다 및 I1과 J1)은 엉망이된다 - , 03333333333333330,375,
  • 09 : 10 : 00 내 세션이 위의 것과 같은 문제를 가지고, 지저분한 번호 다른이 만 것이다.

내 최종 목표는 toggl

P.S.로 내 .XLSX 시간 시트를 내보내는 것입니다

  • A1을 2012년 8월 16일 16 월 - 12
  • J1 1시 0분 0초이 1시된다뿐만 아니라 8시 0분 0초이수록된다 : 진짜 기적으로 이어질 수 사소한 문제 08:00 및 09:00은 08:00:00이됩니다.

답변

7

가장 쉬운 방법은 단순히 "다른 이름으로 저장 ..."을 선택하고 파일 형식으로 CSV를 선택하는 것입니다.

나는 자동화 된 방식으로이 작업을 수행하려고합니다. 다음과 같은 가정에 해당하는 경우 : 당신이

  • Excel에서 "XLSX"를 변환
  • 가장 쉬운 방법 설치된 Windows 플랫폼에있어

    • 에 "CSV는"VB의 비트와 함께입니다 스크립트 :

      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 
      

      은이 호출 :

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

      업데이트 : Perl 스크립트로 변환을 수행하는이 posting을 살펴보십시오.

      업데이트 2 분명히 VBA 코드는 경로와 관련하여 까다롭기 만합니다. 규정되지 않은 경로는. 서 디렉토리와 관련하여 해석됩니다. 따라서 재현 가능한 결과를 얻으려면 입출력 파일의 전체 경로를 사용하십시오.

    +0

    저는 Mac입니다. 예, 저는 자동으로 그것을하고 싶습니다. – jacob

    +0

    나는 이것을 호기심에서 시험해 보았고'file.xlsx '가 발견되지 않았다. 파일 이름의 철자를 검사하고 파일 위치가 올바른지 확인하십시오 .'. 명령 프롬프트에서 모든 파일이있는 디렉터리 내에서 명령을 실행했습니다. – cusman

    +0

    file.xlsx의 전체 경로를 사용해보십시오. –