我对Excel正在执行的“自动数据转换”有一个非常具体的问题。首先,我将尝试解释我到底在做什么以及Excel如何取笑我;)
我的程序正在为温度传感器的报告创建图表。在报告中,第一列是读数的日期,第二列是该日期的传感器读数。问题是如果第一列是DateTime格式,则自动选择Excel正在执行的“XAxis系列”:
Here是Excel使用图表的例子,如果它“闻起来”日期格式......
如果第一列是文本格式,Here是图表的外观。
我尝试了一些变体来转换第一列中的值但是一切都太慢或者弄乱了值。 到目前为止,我找到的“最快”方式是:
foreach(Range cell in firstCol.Cells)
{
if (cell.Value is DateTime && !(cell.Value).ToString().Contains("\'"))
{
cell.Value = "\'" + cell.Value;
}
}
但这还不够快。想象一下100张(每个传感器1张),每张纸有2500到4000行。
我尝试过这样的事情:
usedRange.NumberFormat = "@";
正如在互联网上的几个地方所建议的那样,但这对日期格式不起作用。它转换为: 01/12/2016 00:30像这样:42705.02083。
所以我的问题是,如果有人可以建议更好或更快的方式来转换日期或让Excel将DateTime作为文本读取而不会弄乱任何内容。
答案 0 :(得分:0)
我确信通过修复X轴本身有一个更好的方法,但是如果您要查找的只是以文本格式获取日期,那么快速修复将类似于:
=TEXT(DATE(2016,1,12)+TIME(0,30,0),"MM/dd/yyyy hh:mm")