我想通过MS Excel 2010将Excel电子表格(.xls)转换为html,但我想保留网格线。所以我会突出显示所有单元格 - >格式单元格 - >轮廓和内部边框预设,正常边框,黑色,然后执行导出。用IE和Firefox浏览,边界就在那里。但是,在使用chrome查看时,边框消失了,而我改为看到style =“border-left:none;”每个td标签内。谷歌Chrome中缺少MS Excel到HTML网格线
这样做的目的是为网页制作excel电子表格预览,而且它看起来像导出到html的路线可能是最简单的。有谁知道更好的路线?
我在想我唯一的解决方案可能是专门为Chrome浏览器检查javascript,并在所有td标签上编辑边框左/右/顶部/底部样式。有什么我失踪?
此外,有没有办法在HTML版本中保留行号和列字母标题?
使用chrome的开发工具,我发现该样式适用于表格元素,但不适用于td元素。 td元素上有class =“xl165”的类名,当它们被移除时允许显示td边框(除了内联边框左边部分,该部分也必须从内联样式属性中移除)。 简而言之,通过javascript,可以将样式注入已存在的内联样式表中,然后从每个td标签中删除该类名称和内联边框样式。需要在工作表框架中的所有选项卡上设置onclick来调用此代码。 –
或者你可以自己修改'xl165'类,并且使用他们给所有这些单元格的名称,并在css中用你自己的方式设计它的名字......这可能不那么凌乱 – alquatoun
这会是一个很大的如果不是每个td标签上的单个内联边框样式,则更有效的解决方案。 ------ 我刚刚意识到我可能只是在生成电子表格并将其导出后,在服务器上为每个工作表页面执行一次字符串替换为“border *:none”为“border:1px solid#000”到html。当我通过python或其他任何东西来搞乱它的时候,我还可以计算tr标签的数量,然后在单个tr标签中找到最大数量的td标签,然后从那里生成行号和列标题。基本上10到基地26为头。 –