如果ST_CellType为inlineStr

时间:2018-11-28 15:03:54

标签: c# openxml npoi xssf

如果带有_cell.t的XSSFCell对象是inlineStr类型,则SetCellValue会将参数str设置为_cell.v。

https://github.com/tonyqus/npoi/blob/master/ooxml/XSSF/UserModel/XSSFCell.cs#L367 https://github.com/tonyqus/npoi/blob/master/ooxml/XSSF/UserModel/XSSFCell.cs#L401

但是具有_cell.t的XSSFCell对象是inlineStr,而具有_cell.IsSetIs()为True的_cell。@ is始终作为StringCellValue返回。

https://github.com/tonyqus/npoi/blob/master/ooxml/XSSF/UserModel/XSSFCell.cs#L307 https://github.com/tonyqus/npoi/blob/master/ooxml/XSSF/UserModel/XSSFCell.cs#L278

我如何在_cell.t为inlineStr且_cell.IsSetIs()为True的情况下将str值设置为StringCellValue到XSSFCell对象? SetCellValue在这种情况下不起作用。

这是我要解决的即时代码。

xssfcell.SetCellType(CellType.Blank);

xssfcell.SetCellValue(some str);

将XSSFCell对象的_cell.t更改为CellType.Blank,将其设为inlineStr类型的n:numeric(默认)类型。

https://github.com/tonyqus/npoi/blob/master/ooxml/XSSF/UserModel/XSSFCell.cs#L784 https://github.com/tonyqus/npoi/blob/master/ooxml/XSSF/UserModel/XSSFCell.cs#L745

请告诉我您是否有比上述更好的方法。

0 个答案:

没有答案