将XLSX正确转换为CSV

6
这是一个非常类似于此处描述的问题。但我需要横向处理,我的问题出现在日期上。我在使用Mac。 是我的.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等等。
1个回答

8

最简单的解决方案是只需选择“另存为...”,并选择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

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

更新2: 显然,VBA代码对路径非常挑剔。未经确认的路径将相对于您的文档目录解析。因此,为了获得可重复的结果,请使用输入和输出文件的完整路径。


我使用的是Mac电脑。是的,我希望以自动化的方式完成它。 - jacob
我出于好奇尝试了一下,但是出现了“'file.xlsx'未找到。请检查文件名的拼写,并验证文件位置是否正确。”的错误提示。我是在所有文件所在的目录中从命令提示符中运行该命令的。 - cusman
尝试使用文件的完整路径.xlsx。 - Devon_C_Miller

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接