2010-04-25 63 views
4

我想使用Open XML將Date值插入到Excel文件中。使用Open XML將日期添加到Excel

這是我的代碼示例。

cell.CellValue = new CellValue(value.ToString()); 
cell.DataType = new EnumValue<CellValues>(CellValues.Date); 
+0

然後會發生什麼?你有錯誤嗎?如果是這樣的話:**什麼**錯誤?該值是否未添加到生成的Excel表單中?試圖打開生成的Excel表單時是否出現錯誤?你必須幫助我們在這裏幫助你! – 2010-04-25 20:39:58

+0

我看到日期的第一部分。例如24/01/2010,我在單元格中看到24。 – Ant 2010-05-04 09:55:07

+0

已關閉?爲什麼?我同意這個問題可能被描述得更好,但是如果你知道這是關於你的話,你會同意這是一個真正的問題,因爲這是一個真正的答案! – 2012-11-28 12:28:49

回答

1

顯然,DataType應該省略!

我有同樣的概率,但只是設置CellValue做了詭計!

cell.CellValue = new CellValue(value.ToOADate().ToString()) 
0

我得到了答案,並與你分享一切...

只需添加單元格,因爲我們做..

Cell cell =new Cell(){ cellReference=A1 }; //Or other necessary details 

//Add value to cell in Double Format then convert it into string using ToString() 
cell.cellValue = new CellValue(DateTime.Now().ToDouble().ToString()); 

//Set the data type as Number 
cell.DataType = new EnumValue<CellValues>(CellValues.Number); 

//Give its StyleIndex = 5 (default style index of date) 
cell.StyleIndex=5; 

在這裏,我已經使用

cell.StyleIndex=5; 

這是Excel中默認樣式的日期索引。因此,沒有必要添加所有的外部styylesheets

享受:)

+0

我無法做到這一點,顯然其他人也有問題。請參閱:[在使用Open xml的單元格中寫入日期值](https://stackoverflow.com/questions/11556061) – Roberto 2017-07-11 17:51:35

-1

以下爲我們工作:

c.CellValue = new CellValue(datetimeValue).ToOADate().ToString()); 
c.DataType = CellValues.Number; 
c.StyleIndex = StyleDate; 

設置數據類型來CellValues.Number,然後務必將細胞與格式來自CellFormats的適當樣式索引。在我們的例子中,我們在工作表中創建了一個樣式表,StyleDate是樣式表中CellFormats的索引。

+4

有趣的是,您在兩個StackOverflow線程中引用了此代碼(早在2012年),但沒有顯示出什麼「StyleDate」實際上看起來像,所以讀者實際上無法使用或從您的代碼中學習! – 2014-07-03 10:20:12

+0

@MikeGledhill準確無誤。真氣 – David 2015-03-18 13:29:11