0

我编写了一个 C# 应用程序,它从数据库 (SQL Server) 中读取 DataTables 并将它们导出到 Excel 文件中。不幸的是,在这个数据库中,表示日期的列有时表示为 VARCHAR(而不是 DATETIME)。

当列数据类型为 DATETIME 时,生成的 Excel 文件中的值是我想要的格式,即 dd/mm/yyyy。另一方面,当数据类型为 VARCHAR 时,结果为 mm/dd/yyyy。我需要解决这个问题。

问题是我现在确实知道 VARCHAR 列是否代表日期,所以我应该(我相信)指示应用程序逐字导出 VARCHAR,而不进行任何转换(数据库上的逐字值是正确的)。

我怎样才能做到这一点?如有必要,我可以发布从 DataTable 开始编写 Excel 的代码。

谢谢!

朱塞佩

4

1 回答 1

0

我发现了一个有效的技巧。在单元格值前面添加一个空格,在varchar的情况下不进行转换:

mysheet.Cells[rowCount, i] = " " + drow[i - 1].ToString();

于 2013-09-13T12:16:20.753 回答