我是StackOverflow的新手,所以只是一个抬头。任何指针都会很棒:)
无论如何,我有一个我在Excel 2010中每周创建/使用的文件,它向我显示日期时间戳到毫秒。然后我将此.xslx文件转换为.csv。当我这样做的时候,它会熄灭秒。我最初使用这种格式找到了解决方案,只保留秒数(不理想,但可行):
yyyy / mm / dd hh:mm:ss.000 (。.csv会砍掉.000)
现在我的用户抱怨数据没有根据毫秒进行排序。当我使用这种格式时,它会保留那些毫秒,但是只要我转换.csv就会丢失它们。在Excel(.xslx)中,日期格式如下所示:
2014/08/19 15:29:17.562
一旦保存为.csv,它看起来像这样:
在单元格中:29:17.6
在公式栏中:2014年8月19日下午3:29:18
我希望.csv看起来像Excel文件。有任何想法吗? 非常感谢提前!
此外,作为参考框架,此数据会上传,然后根据时间在iPhone应用程序中进行排序,这就是为什么这对我的用户很重要。它应该反映他们在前一周使用数据的顺序。
答案 0 :(得分:0)
我假设你希望你的.csv文件值看起来像这样:
2014/08/19 15:29:17.562
因此,在Excel中的单元格上设置自定义数字格式:
yyyy / mm / dd h:mm:ss.000
然后,当您保存为.csv时,您的值将保持此格式
答案 1 :(得分:0)
我遇到了类似的问题,将带有毫秒时间戳的数据导出到excel中,这似乎会截断毫秒,但是您可以通过更改显示格式再次看到它们。我不想让用户每次都手动更改显示格式,但仍然想将数据保持为csv格式,因此我发现以下解决方案适用于我的情况:
用引号将数据导出,并在日期前加上一个空格。
从C#输出的示例行:
currLine= "\" "+ timestamps[i].ToString("HH:mm:ss.fff") +"\"" ;
这将为您提供完整的时间戳,该时间戳将在excel工作表中显示为13:45:01.234,该时间戳将通过在excel中保存并重新打开csv文件而保持不变。
请注意,如果要在excel中进行时间算术,则需要通过TRIM()
函数传递单元格值,以使其自动强制转换为excel时间戳类型以进行加/减。
例如,如果您的结束时间在A10中,开始时间在A1中,则功能=A10 - A1
无效(给您#VALUE错误),但是如果格式化输出,=TRIM(A10) - TRIM(A1)
可以正常工作单元格。