我正在使用Microsoft Office C#库(Microsoft.Office.Interop.Excel
)将一些值写入到现有的excel文件中。
在Excel中,我已经将文件中的某些单元格格式化为日期,如屏幕截图所示:
如您所见,该单元格设置为dd/MM/yyyy
格式。
但是,当我随后使用互操作库编写值时,如下所示:
cell.Value2 = "20/06/2019"
我注意到它没有用:当我在Excel中打开最终文件时,该单元格被解释为纯文本,而不是日期。
因此,我进行了一些调试,结果发现我为单元格设置的格式被完全忽略了,并且互操作库使用的是美国格式,如您通过检查的NumberFormat
属性可以看到的带有Visual Studio调试器的单元:
我在这里做错了什么?为什么要强制使用美国日期格式?
一些其他信息:
dd/MM/yyyy
格式dd/MM/yyyy
格式。我在选项->语言下进行了检查,可以确认这一点。编辑:我发现了一件有趣的事情:如果我双击一个单元格,然后单击它,则它“神奇地”修复了格式。我可以使用Excel Interop模拟单元格上的双击吗?
答案 0 :(得分:1)