0

我正在使用 XML 动态生成 Excel 2003。

一切正常,但是当我尝试将日期时间设置为数据类型 =“DateTime”时,excel 不会生成并且会引发错误。

sw.Write("<Cell ss:StyleID=\"s21\"><Data ss:Type=\"DateTime\">" + Convert.ToDateTime(dsReportData.Rows[i]["close_time"]).ToString("M/D/YYYY H:MM") + "</Data></Cell>\r\n");
sw.Write("<Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\">" + dsReportData.Rows[i]["close_time"].ToString() + "</Data></Cell>\r\n");

第一行代码抛出错误,而第二行代码完美,但我想要一个数据类型 =“DateTime”。

有什么解决办法吗?

4

1 回答 1

0

为什么在此处将 Data ss:Type=\"DateTime\" 转换为字符串数据类型时

Convert.ToDateTime(dsReportData.Rows[i]["close_time"]).ToString("M/D/YYYY H:MM") ?

您指定的格式也必须替换。代替

"M/D/YYYY H:MM" with "M d yyyy H:MM" or "M/d/yyyy H:MM".

由于格式区分大小写

要保持 DateTime 类型,请使用:

Convert.ToDateTime((Convert.ToDateTime(dsReportData.Rows[i]["close_time"])).ToString("M d 
yyyy H:MM"));
于 2013-09-09T18:03:52.140 回答