我正在使用owc11创建一个Excel文档。我以dd/mm/yyyy格式提供日期。我在代码中这样做:
for (..looping through results..)
{
Range c = EmailStats.putCellValue(sheet, row, 1, val);
c.set_NumberFormat("dd/mm/yyyy");
}
private static Range putCellValue(Worksheet sheet, int row, int col, String val)
{
Range cell = (Range) sheet.Cells[row, col];
cell.set_Value(XlRangeValueType.xlRangeValueDefault, val);
return cell;
}现在,对于val参数,当我将日期格式设置为" dd/mm/yyyy“或根本不设置它时,我得到的行为是从一个月的1号到12号的mm/dd/yyyy,然后切换回dd/mm/yyyy。因此,owc11认为它知道得更好,并且交换了日期和月份(就像美国的格式),当它超过第12个日期时,它会坚持英国的格式。
Val被声明为字符串,因为它可能不总是日期。它可以是日期、日期、用户名、组名等,这取决于我们对数据进行分组/排序的方式。此外,它还可以是一系列的日期。
经过一段时间的试验后,我发现解决这个问题的唯一方法是使用通用的日期格式yyyy/mm/dd。然而,这可能会产生其他集成问题。所以我希望有一种方法可以强制执行dd/mm/yyyy格式,所以欢迎您的任何建议。
发布于 2010-03-08 20:52:07
尝试将val设置为非字符串。尝试将val指定为DateTime。
cell.set_Value(XlRangeValueType.xlRangeValueDefault, val);https://stackoverflow.com/questions/2401311
复制相似问题