2017-08-28 64 views
1

我尝试使用AsposeCell API(C#)来设置单元格格式:的Aspose电池时间格式

var cell = worksheet.Cells[i, j]; 
Style style = cell.GetStyle(); 
style.Number = 21; 
cell.SetStyle(style); 

var time = new TimeSpan(1, 2, 3); 
cell.PutValue(time); 

该小区正常显示,但格式为: “所有格式”(而不是 “时间”)。也就是说,style属性不起作用。怎么了?

谢谢!

+0

尝试在[Aspose Cells Support论坛](https://forum.aspose.com/c/cells)上询问。他们通常很快回答。 – Magnus

+0

马格努斯,谢谢你的建议! –

回答

0

尝试先放置值,然后设置样式。

var cell = worksheet.Cells[i, j]; 

var time = new TimeSpan(1, 2, 3); 
cell.PutValue(time); 

Style style = cell.GetStyle(); 
style.Number = 21; 
cell.SetStyle(style); 

如果不工作,请改用style.Custom

style.Custom = "h:mm:ss"; 
+0

谢谢你的回答,但它都是一样的:单元格格式为“所有格式” –

1

当通过Aspose.Cells API输入到单元格时,需要将TimeSpan字符串转换为正确的数据类型。

cell.PutValue(time.ToString(), true); //true specifies that the data will be converted to proper data type. 

它现在有效。可以使用这些单元格作为时间单元(例如,计算总和或平均值)

+0

你做得很好,因为插入的数据应该(转换)成各自的数据类型以正确应用格式化/样式。 –