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