簡體   English   中英

使用ExcelLibrary c#使用列日期時間從SP生成Excel文件的問題

[英]Issue generating an excel file from a SP with a column datetime using ExcelLibrary c#

我正在使用ExcelLibrary將結果從SP導出到Excel,遵循Mike Webb的示例: 從C#創建Excel(.XLS和.XLSX)文件

但是,SP的其中一列返回DateTime字段,每次生成excel文件時,該列都會顯示不同的值。

例:

In SP: 08/05/2013  5:27PM
In Excel: 40029.72778

有沒有什么辦法解決這一問題? 我相信這是因為細胞格式。

您沒有顯示任何代碼,但我認為問題是您需要為ExcelLibrary.SpreadSheet.Cell對象指定格式。

以下代碼演示了您所看到的問題並格式化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 Code主頁上演示了各種Cell格式選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM