1

我有一个关于如何最好地将 xhtml 转换为 excel 的问题。让用户在 excel 中编辑它,然后在最后返回 xhtml。

背景是我有一个 Web 应用程序,其中的文本存储在 xhtml 中。这些我可以使用 excel 单元格中的 html 导出到 excel 文件。

我也可以将此单元格重新导入 xhtml,但我遇到的问题是,对于普通用户来说,编辑它非常困难,因为 html 只是 excel 单元格中的文本。

这是错误的方法吗?我是否应该只使用具有多个 html 编辑器的自定义应用程序,但用户更喜欢可以轻松交换和离线工作的 excel 文档。

这是一个示例 xml,但它可以是用户在带有 xhtml 严格的 html 编辑器 (tinymce) 中输入的任何 xhtml。我假设没有用于 excel 的 html 编辑器插件。我从来没有听说过,也找不到一个,因为这将是最简单的解决方案..

审查

* A Bullet: The impact of
* A bullet 2: Test text

标题

* Bullet: text
* Bullet: Text

有人有什么想法吗?谢谢,撞坏了

4

6 回答 6

1

如果您已经熟悉 XSLT,那么听起来这将是最好的选择。尽管 Excel 2003 不使用 .xlsx 格式,但它确实读取(并保存)了他们所谓的“SpreadsheetML”,它也是 XML。我发现学习如何对 SpreadsheetML 进行转换的最简单方法就是在 Excel 中打开一个电子表格,按照您喜欢的方式对其进行格式化,然后另存为 -> XML 电子表格 (*.xml)。打开该 XML 文件,您将看到 Excel 为您的工作簿定义的所有样式,然后您可以使用这些样式作为“模板”来编写 XSLT,将您的 XHTML 转换为该格式。

如需进一步阅读和体面的演练,请查看 MSDN 上的Dive into SpreadsheetML(第 1 部分,共 2 部分)

大概您可以然后使用另一个 XSL 转换来提取您需要从 SpreadsheetML 到 XHTML 的数据。

于 2009-03-24T20:29:07.713 回答
0

我的建议是实际执行以下操作:

xml到excel到xml

我的理由是

  1. 用户将能够打开 xml 并实际获得对文档的基本了解(xhtml 具有他们不关心的无用标签,例如“html”或“head”),因为它清晰而简单。
  2. Excel可以打开xml文件
  3. 轻松编写将 Excel 数据导出为 XML 的宏(许多不错的 xml 读取器/写入器)
  4. 您可以为该 xml 文件定义一个 xslt 模板,它将很好地显示为 html 文档。
  5. 我注意到您关于仅限于 office 2003 的评论。您可以定义一个 xslt 模式,然后如果它足够简单,firefox 或 iexplorer 将实际为您呈现它。您可以在此处查看浏览器支持:http: //www.w3schools.com/xsl/xsl_browsers.asp
于 2009-01-15T13:37:12.370 回答
0

我曾经为自己的个人使用实施的一个解决方案是,我在 excel 中编写了一个宏来解析 html 文件并仅用数据填充 excel 工作表。完成后,宏将读取工作表中的数据并生成 html 文件。

然而,我的案例有一个非常简单的 html 文件,我基本上只需要解析很少的标签。

但是,您可能能够找到一个解决方案/实用程序,使您更容易做到这一点。

于 2009-01-12T21:43:13.403 回答
0

在没有看到您的具体文件的情况下,我只能选择一种通用的解决方案。

如果您可以按标签分解文档,则可以向最终用户显示数据并将标签信息存储在隐藏的工作表中。所以,如果你有:

1-233

您可以在可见工作表的前三个单元格中显示 1、-2 和 33,并将 td、td style="color:red"、td 存储在不可见工作表上的匹配单元格中。然后,您将标签数据存储在视线之外,最大限度地减少用户混淆,并在需要生成 xhtml 文件时检索它。

于 2009-01-12T21:58:31.237 回答
0

这是一个示例 xml,但它可以是用户在带有 xhtml 严格的 html 编辑器 (tinymce) 中输入的任何 xhtml。我假设没有用于 excel 的 html 编辑器插件。我一个都没听说过。。

审查
  • 子弹:影响
  • 项目符号 2:测试文本

标题

  • 项目符号:文本
  • 项目符号:文本

于 2009-01-12T22:40:26.923 回答
0

没有看到文档的复杂性可能很难,但是 XSLT 呢?如果它是 .xlsx,则 excel 本身就是 xml。无论哪种方式,它都会导出到 XML。您可以制作一个 XSLT 模板,将其转换为最终的 xhtml 文档。

于 2009-01-12T22:41:55.330 回答