ASP.NET/VB.NET 経由で ClosedXML を使用して、XLSX ファイルをデータベースにインポートしています。私の顧客は単一セルのフォーマットを維持する必要があるため、解決策はセルの RichText プロパティを使用することです。
RichText オブジェクトを HTML 文字列に変換するコードを書きましたが、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 などの他のライブラリも試しましたが、同じ結果が得られました。スプレッドシート セル内のリッチ テキストに色がありません。
何か案が?