将Excel HTML转换为更干净的HTML

时间:2012-07-19 14:54:59

标签: excel html-table excel-2003

有没有一种简单的方法可以将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文件?

3 个答案:

答案 0 :(得分:1)

如果仍有兴趣,Tidy应该整齐地完成任务!

似乎有点没有支持,所以期待找到一些麻烦,使它对你的需求有用。

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

只需选中“清洁”选项即可将所有内容保持原样,这样可以获得接近您期望的结果。

问候并祝你好运。

答案 1 :(得分:0)

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

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

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

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

祝你好运。

答案 2 :(得分: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);
    }
  });
}