6

这是一个与此处描述的问题非常相似的问题。但是我需要横向进行,并且我的问题出现在date上。我在 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

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

  • A1 2012-08-16 变为 16-aug-12
  • J1 01:00:00 变为 01:00 以及 08:00:00 变为 08:00 和 09:00 变为 08:00:00 等等。
4

1 回答 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 代码在路径方​​面很挑剔。不合格的路径相对于您的文档目录进行解析。因此,为了获得可重现的结果,请使用输入和输出文件的完整路径。

于 2012-08-16T19:27:44.067 回答