【问题标题】:Export HTML elements to Excel in C#在 C# 中将 HTML 元素导出到 Excel
【发布时间】:2014-09-17 10:25:27
【问题描述】:

我有一个要求是将数据从 DB 表导出到 Excel。我正在使用 MVC 项目,从查看用户单击按钮以调用控制器操作以执行导出操作。 DB proc 返回几列包含 HTML 数据的行,如

<ul><li>Name1</li><li>Name2</li></ul> 

这应该显示在 Excel 单元格中,如下所示

  • 姓名1
  • 姓名2

我该怎么做?任何形式的帮助都深表感谢。

【问题讨论】:

  • Excel 中的文本样式非常有限,您不能直接创建项目符号列表。您必须手动插入项目符号字符、设置缩进等。
  • 嗨,马丁,感谢您的回复。您确定 Excel 中没有样式吗?我的问题是数据中可能有更多的 HTML 标签,因此手动操作可能很困难。还有其他的吗?
  • 看起来您正在尝试制作文档,而不是电子表格。您确定要 Excel 而不是 Word?
  • AFAIK 无法通过 C# 在 Excel 中执行无法直接从界面执行的操作。并且没有办法在 Excel 中设置段落属性,只能设置字体样式。您可以包含换行符,但例如无法使用不同的前导。
  • 嗨,lc,我正在尝试制作一个预表而不是单词。数据的格式应在 Excel 单元格中完成

标签: c# html css excel c#-4.0


【解决方案1】:

回顾 cmets:

  • 一般情况下,无法通过无法通过 Excel 界面应用的代码(VBA 或 C#)应用任何样式。
  • Excel 中的样式设置可能性非常有限,您可以按字符设置字体属性(大小、粗细、字体等),但“段落”格式只能按单元格设置。
  • 可以为每个单元格设置的内容是对齐和缩进(以及文本换行)

为了模拟项目符号列表,您可以使用这样的 VBA 代码:

Cells(1, 1).Value = Chr(149) & " foo" & vbCrLf & Chr(149) & " bar"
Cells(1, 1).IndentLevel = 2

C# 代码会非常相似。

但这已经很好了,不幸的是,在一个单元格中做任何更复杂的事情是不可能的。如果你必须使用 Excel,我建议你每个单元格只有一个段落。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多