3

有没有一种简单的方法可以将 Excel 2003 的“保存到 HTML”选项的输出转换为更“友好”的内容?我有一个大约 20 列和 50 行的 Excel 文档。

在整个保存的 HTML 文件中,我有过时的 HTML(例如:)<table x:str border=0 cellpadding=0 cellspacing=0 width=1366 style='border-collapse: collapse;table-layout:fixed;width:1025pt'>、线条样式和到处都是空单元格。

我想要一些不那么“table-y”的东西。有没有办法强制 Excel 2003 使用更多的 CSS 和更少的表格来保存它,或者有一种方法div比手动浏览 HTML 文件更容易将表格转换为 s?

4

3 回答 3

1

如果还有兴趣,Tidy 应该会整齐地完成手头的任务!

它似乎有点没有支持,所以希望找到一些麻烦,使其对您的需求有用。

无论如何,对于 POC,您可以依赖http://infohound.net/tidy/上的在线版本。

只需检查“清洁”选项,让所有内容保持原样,即可获得接近您预期的结果。

问候和祝你好运。

于 2012-09-10T04:48:14.957 回答
0

如果你有 Dreamweaver,你可以使用它的标记清理工具……我相信它是为这类事情设计的。

在 Dreamweaver 中创建一个新的 HTML 文档,复制并粘贴您的代码,然后使用清理工具。

这是我找到的一个指南,但如果没有帮助,您可能会找到更好的指南:

http://www.articleonlinedirectory.com/656381/cleaning-up-unwanted-formatting-dreamweaver.html

祝你好运。

于 2012-07-19T15:26:58.830 回答
0

在浏览器中打开 html 文件并在控制台中运行一些代码是一种方法,一个粗略的例子:

var whiteList = ["rowspan", "colspan"];

[...document.querySelectorAll("table")].forEach(table => {
  rmAttr(table);
  [...table.querySelectorAll("tr")].forEach(tr => {
    rmAttr(tr);
    [...tr.querySelectorAll("td")].forEach(td => {
      rmAttr(td);
    });
  });
  console.log(table.outerHTML);
});

function rmAttr(dom) {
  [...dom.attributes].forEach(attr => {
    if (!~whiteList.indexOf(attr.name)) {
      dom.removeAttribute(attr.name);
    }
  });
}
于 2020-02-24T15:42:35.487 回答