情况是这样的:如果我的时间数据是这样的(2014-10)的话导出的数据会变成OTC-14.我试了在代码里将格式设为文本和时间格式都不行。
在你的 C# 代码中,时间的数据类型是 String 吗?
你的格式设置的代码是什么?
时间的数据类型是 String 的。
这个是时间格式 vnd.ms-excel.numberformat:yyyy/mm
这个是文本 vnd.ms-excel.numberformat:@
@kistliu: 我不知道 vnd.ms-excel 是啥玩意儿,我建议你将 String 修改为 DateTime 类型,然后使用你的这些日期设置。
@kistliu: 我测试了下 OTC-14 在 excel 中的格式是 mmm-yy,所以你的格式没有设置成功。
@Launcher: vnd.ms-excel.numberformat:yyyy/mm这中格式的设置方式是使用了mime格式的导出方式。也就是页面导出。数字类型的倒是设置成功了。这个转化DataTime类型还没试,不过我觉得应该是一样的。
@kistliu: 不太清楚 vnd.ms-excel.numberformat:yyyy/mm 的实现方式,但是大概有两种:
1、在 C# 代码中通过 yyyy/mm 格式化后插入 Excell 单元格,由于是在代码中格式化,所以你需要 DateTime 类型,String 类型的话不会应用格式,而是按照原来的值输出,那么在 Excel 中就显示为:OTC-14,你可以打开 Excel,在单元格中输入“2014-10”,回车后就会看到结果。
2、在 Excel 中格式化,这种方式会将 "2014-10" 作为字符串插入 Excel 单元格,然后设置单元格的格式为“yyyy/mm”,然后 Excel 根据新设定的格式显示字符串。
@Launcher: 对于这种vnd.ms-excel.numberformat:yyyy/mm 的实现方式,其实不管代码里面的数据类型是什么,只要导出的时候设置了单元格格式,Excel里面就会显示成这个格式。
@Launcher: 还有问题解决了,非常感谢。