我编写了一个C#应用程序,它从数据库(SQL Server)读取DataTables并将它们导出到Excel文件。不幸的是,在这个数据库中,表示日期的列有时表示为VARCHAR(而不是DATETIME)。
当列数据类型为DATETIME时,将生成Excel文件,其值为我想要的格式,即dd / mm / yyyy。另一方面,当数据类型为VARCHAR时,结果为mm / dd / yyyy。我需要解决这个问题。
问题是我现在知道一个小修道院,如果一个VARCHAR列代表一个日期,所以我应该(我相信)指示应用程序按字面意思导出VARCHAR,而不进行任何转换(数据库上的逐字值是正确的)
我该怎么做?如有必要,我可以发布从DataTable开始编写Excel的代码。
谢谢!
朱塞佩
答案 0 :(得分:0)
我找到了一个有效的技巧。在单元格值前面添加空格,在varchar:
的情况下不执行转换mysheet.Cells [rowCount,i] =“”+ drow [i - 1] .ToString();