我使用ExcelLibrary将结果从SP导出到Excel,类似于Mike的示例:从.XLS和.XLSX创建C#文件
但是SP的一个列返回一个DateTime字段,每次生成excel时,该列都会以不同的值出现。
示例:
In SP: 08/05/2013 5:27PM
In Excel: 40029.72778有办法解决这个问题吗?我相信这是因为单元格的格式。
发布于 2013-08-06 00:07:31
您没有显示任何代码,但我认为问题在于您需要为ExcelLibrary.SpreadSheet.Cell对象指定格式设置。
下面的代码演示了您所看到的问题,并对单元格进行了格式化以纠正它:
// DateTime = 08/05/2013 5:27PM, from your SP.
var dateTime = new DateTime(2013, 8, 5, 17, 27, 00);
string file = "..\\..\\..\\..\\newdoc1.xls";
Workbook workbook = new Workbook();
Worksheet worksheet = new Worksheet("First Sheet");
// This reproduces your problem.
worksheet.Cells[0, 0] = new Cell(dateTime);
// This corrects the problem by specifying Cell formatting.
worksheet.Cells[0, 1] = new Cell(dateTime, @"YYYY\-MM\-DD");
workbook.Worksheets.Add(worksheet);
workbook.Save(file);这个项目的文档很简单,但是在项目的Google代码主页上演示了各种单元格格式选项。
https://stackoverflow.com/questions/18068266
复制相似问题