2016-02-28 86 views
5

我使用JavaScript将HTML导出为Excel xls文件,如以下演示所示:http://js.do/sun21170/84913。我已经使用谷歌浏览器来运行这个演示,但它应该运行在边缘或IE或FireFox也。Excel导出为html无法在Excel 2016中显示边框

问题是,当我在Excel 2016中打开导出的文件时,即使导出的html中存在CSS以显示边框,它也将显示为没有任何边框。

问题:在Excel中打开html文件时,有没有办法显示边框?在Excel中打开的同一个html,在浏览器中呈现边框,所以CSS的边框是正确的。在http://js.do/sun21170/84913的演示还显示了保存在Excel文件中的html。

Html Table with missing Borders

HTML保存为xls文件

<html> 
    <head> 
     <style> table, td {border:1px solid black} table {border-collapse:collapse}</style> 
    </head> 
    <body> 
     <table> 
     <tr> 
      <td>Product</td> 
      <td>Customer</td> 
     </tr> 
     <tr> 
      <td>Product1</td> 
      <td>Customer1</td> 
     </tr> 
     <tr> 
      <td>Product2</td> 
      <td>Customer2</td> 
     </tr> 
     <tr> 
      <td>Product3</td> 
      <td>Customer3</td> 
     </tr> 
     <tr> 
      <td>Product4</td> 
      <td>Customer4</td> 
     </tr> 
     </table> 
    </body> 
</html> 

回答

5

我终于找到了大量的研究后答复。看来Excel 2016不喜欢边框厚度为1px;任何大于1像素的像2像素或3像素或4像素的作品。 为什么Excel 2016的行为如此不明确。

示出这方面的一个演示是在以下URL:http://js.do/sun21170/84961

另外,如果边界厚度在任何其它单元如电磁或Pt或毫米,然后厚度为1em1mm1pt1mm或指定.5mm将工作。使用如在Excel 2016

So, the lesson I have learnt is to never specify border thickness of 1 px when using Excelthinmediumthick作品预定义值

即使边界厚度。

以下CSS是Excel 2016中用于创建边框的不同样式。

边框厚度大于1px的WORKS 1点的

var table = "<html><head><style> table, td {border:2px solid black} 
      table {border-collapse:collapse}</style></head><body><table><tr>"; 

边框厚度WORKS为1mm

var table = "<html><head><style> table, td {border:1pt solid black} 
      table {border-collapse:collapse}</style></head><body><table><tr>"; 

边框厚度WORKS

var table = "<html><head><style> table, td {border:1mm solid black} 
      table {border-collapse:collapse}</style></head><body><table><tr>"; 
EM的层

边框厚度薄WORKS WORKS

var table = "<html><head><style> table, td {border:thin solid black} 
      table {border-collapse:collapse}</style></head><body><table><tr>"; 
+0

大的

var table = "<html><head><style> table, td {border:1em solid black} table {border-collapse:collapse}</style></head><body><table><tr>"; 

边框厚度。完美的作品。我试图修复Excel的一年在你的答案,但很小的变化是不允许在stackoverflow –

+1

何塞,谢谢指出。我已更正Excel的年份。 – Sunil