如何使用closedXML在excel中获取格式化的显示单元格值?
我希望获得excel中显示的值,而不是富文本,而是格式化的显示值 例如,如果值为“7/1/2015”,且此单元格采用数字格式:如何使用closedXML在excel中获取格式化的显示单元格值?,excel,closedxml,Excel,Closedxml,我希望获得excel中显示的值,而不是富文本,而是格式化的显示值 例如,如果值为“7/1/2015”,且此单元格采用数字格式:cell.Style.NumberFormat.format=“d”,则在excel中,此数字将显示为1 我想通过使用closedXML获得“1”,但没有成功。以下是我尝试过的一些价值: cell.Value = "7/1/2015"; cell.RichText.Text = "7/1/2015"; cell.GetString() = "7/1/2015"; cell
cell.Style.NumberFormat.format=“d”
,则在excel中,此数字将显示为1
我想通过使用closedXML获得“1”,但没有成功。以下是我尝试过的一些价值:
cell.Value = "7/1/2015";
cell.RichText.Text = "7/1/2015";
cell.GetString() = "7/1/2015";
cell.GetFormattedString() = "7/1/2015";
cell.GetValue<string>() = "7/1/2015";
cell.Value=“7/1/2015”;
cell.RichText.Text=“7/1/2015”;
cell.GetString()=“7/1/2015”;
cell.GetFormattedString()=“7/1/2015”;
cell.GetValue()=“7/1/2015”;
有人知道如何做到这一点吗?
非常感谢 您是否尝试过使用
NumberFormat.Format
例如,worksheet.Cell(rowCount,2).Style.NumberFormat.Format=“mm/dd/yyyy”代码>
请告诉我这是否是您要找的。您是否尝试过使用NumberFormat.Format
例如,worksheet.Cell(rowCount,2).Style.NumberFormat.Format=“mm/dd/yyyy”代码>
让我知道这是不是你要找的东西。经过一些搜索,我找到了这个:
这表明closedXML formattedstring与Excel不同,因此不会有修复。
因此,我最终为日期时间值添加了自己的自定义处理程序 经过一番搜索,我发现:
这表明closedXML formattedstring与Excel不同,因此不会有修复。
因此,我最终为日期时间值添加了自己的自定义处理程序
为了获取Excel单元格的显示值,我使用了下面的RichText属性,而不是使用cell.value属性(它给出了单元格的实际值,但没有格式化)
为了获取Excel单元格的显示值,我使用了下面的RichText属性,而不是使用cell.value属性(它给出了单元格的实际值,但没有格式化)
恐怕不行。因为我在excel中看到的是值“1”,我想得到的是“1”,而不是“7/1/2015”,恐怕不是。因为我在excel中看到的是值“1”,所以我想得到“1”而不是“7/1/2015”什么是cell.DataType?应该是DateTime。什么是cell.DataType?应该是DateTime.Correct。由于使用了.NET格式化程序,因此必须使用%d
来获取所需的值。但在Excel中,这是行不通的。现在你必须使用另一种解决方法。正确。由于使用了.NET格式化程序,因此必须使用%d
来获取所需的值。但在Excel中,这是行不通的。目前,您将不得不使用另一种解决方法。仅使用代码的答案通常被认为是低质量的。你能为你的答案添加一个解释吗?请添加一个注释解释你的代码,并说明为什么你的代码能满足OP的需要,或者它比你之前发布的其他答案更好。只有代码的答案通常被认为是低质量的。你能为你的答案添加一个解释吗?请添加一个注释,解释你的代码,并说明为什么你的代码能满足OP的需要,或者它比之前发布的其他答案更好。
using cXl = ClosedXML.Excel;
string cellValue, col="A";
int row=1;
cXl.IXLWorksheet ws;
cellValue = ws.Cell(row, col)
.RichText
.ToString();