2016-02-28 38 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