如何在C#中将HTML字符串写入MS-Excel中的格式化文本

时间:2012-03-31 09:29:50

标签: excel c#-4.0

我想使用c#code

在ms-excel中编写以下html字符串
<b>bold text</b><i>italic text</i><a href="http://www.google.com" target="_blank">googlelink</a><font color="#000099">red</font>

但是在excel中,预期的输出应该是格式化的

  

粗体文字 斜体文字 googlelink

有人可以建议如何实施吗?

2 个答案:

答案 0 :(得分:0)

将excel文档保存为xml-spreadsheet,可以使用文本样式(粗体/斜体/等)。

来自excel xml-spreadsheet的示例内容:

<Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1"
   x:FullRows="1" ss:DefaultRowHeight="15">
   <Row ss:AutoFitHeight="0"> 
    <Cell><!-- you data is here -->
    <ss:Data ss:Type="String" xmlns="http://www.w3.org/TR/REC-html40">
        This is <B>Bold, <I>Bold Italic, </I></B><I>and Italic</I> text</ss:Data>
        </Cell>
   </Row>
  </Table>  

但我不知道如何设置超链接。

See samples here on msdn

答案 1 :(得分:0)

您可以使用Clipboard.SetText将HTML字符串放在剪贴板上,然后粘贴到Excel,但如上面的评论所述,超链接需要占用一个完整的单元格。

要测试尝试复制此内容:

<table><td><b>bold text </b><i>italic text </i><font color="#FF0000">red</font></td><td><a href="http://www.google.com" target="_blank">googlelink</a></td></table>

然后在Excel中选择一个单元格并选择粘贴&gt;粘贴特殊&gt;文本