我正在通过 ASP.NET/VB.NET 使用 ClosedXML 将 XLSX 文件导入数据库。我的客户需要保持单个单元格的格式,因此解决方案是使用单元格的 RichText 属性。
我写了一段代码,应该在 HTML 字符串中转换 RichText 对象,但是颜色信息不是从 ClosedXML 返回的(它总是返回 #FFFF3333 无论文本颜色是什么。
这是我的片段:
Shared Function RichTextToHTML(ByVal rt1 As IXLRichText) As String
'trasforma una string rich text in html
Dim ret As String = ""
If rt1.Text <> "" Then
For Each rts1 As IXLRichString In rt1
ret &= "<span style='"
If rts1.Bold Then
ret &= "font-weight:bold;"
End If
If rts1.Strikethrough Then
ret &= "text-decoration:line-through;"
End If
ret &= "color:#" & rts1.FontColor.ToString & ";"
ret &= "'>" & rts1.Text & "</span>"
Next
End If
Return ret
End Function
“rts1.FontColor”永远不会返回正确的颜色。我也尝试过使用其他库,如 SpreadsheetLight,但结果相同:电子表格单元格内的富文本没有颜色。
任何想法?