【问题标题】:Convert XLSX to CSV correctly正确将 XLSX 转换为 CSV
【发布时间】:2012-08-12 23:20:58
【问题描述】:

这是一个与here 描述的问题非常相似的问题。但是我需要横向进行,而我的问题出现在 date 上。我在 Mac 上。

This 是我的 .xlsx 文档的图片。我有很多条目,例如前三行中的条目,我想将它们转换为 CSV 作为最后三行。但我的问题是这样的:

  • 2012-08-16(A1 中)变为 41137(A4 中)
  • 我的会话从 08:00 到 09:00 是 01:00 小时(见 H1 和 I1 和 J1)变得一团糟—— ,0,333333333333333,0,375,
  • 我从 09:00 到 10:00 的会话有 与上述问题相同,只是混乱的数字是 不同。

我的最终目标是将我的 .xlsx 考勤表导出到 toggl

附:可能导致真正问题的小问题:

  • A1 2012-08-16 变为 16-aug-12
  • J1 01:00:00 变为 01:00,08:00:00 变为 08:00,09:00 变为 08:00:00,以此类推。

【问题讨论】:

    标签: csv xlsx file-conversion


    【解决方案1】:

    最简单的解决方案是简单地“另存为...”并选择 CSV 作为文件类型。

    我猜您正在尝试以某种自动化方式执行此操作。如果以下假设成立:

    • 您使用的是 Windows 平台
    • Excel 已安装

    将“XLSX”转换为“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
    

    更新: 看看这个posting,它使用 Perl 脚本执行转换。

    更新 2 显然 VBA 代码在路径方​​面很挑剔。不合格的路径相对于您的文档目录进行解析。因此,为了获得可重现的结果,请使用输入和输出文件的完整路径。

    【讨论】:

    • 我在 Mac 上。是的,我确实想以自动化方式进行。
    • 我出于好奇尝试了这个,得到了'file.xlsx' not found. Check the spelling of the file name, and verify that the file location is correct.。我从所有文件所在的目录中的命令提示符运行命令。
    • 尝试使用 file.xlsx 的完整路径。
    猜你喜欢
    • 2020-09-05
    • 2013-12-04
    • 2013-07-15
    • 2018-08-27
    • 1970-01-01
    • 2013-07-01
    • 2018-08-08
    • 2015-07-04
    • 1970-01-01
    相关资源
    最近更新 更多