2016-02-28 29 views
5

Tôi đang xuất html sang tệp Excel xls sử dụng JavaScript như trong bản trình diễn sau: http://js.do/sun21170/84913. Tôi đã sử dụng Google Chrome để chạy bản demo này nhưng nó sẽ chạy trong Edge hoặc IE hoặc FireFox.Xuất Excel dưới dạng html không hiển thị đường viền trong Excel 2016

Vấn đề là khi tôi mở tệp đã xuất trong Excel 2016, nó sẽ hiển thị mà không có bất kỳ đường viền nào mặc dù có CSS ​​trong html được xuất để hiển thị đường viền.

Câu hỏi: Có cách nào để hiển thị đường viền khi tệp html mở trong Excel không? Cùng một html mở ra trong Excel, hiển thị với các đường viền trong trình duyệt, vì vậy CSS cho đường viền là chính xác. Bản demo tại http://js.do/sun21170/84913 cũng hiển thị html được lưu trong tệp Excel.

Html Table with missing Borders

HTML lưu lại dưới dạng tập tin 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> 

Trả lời

5

cuối cùng tôi đã tìm thấy câu trả lời sau khi một nghiên cứu rất nhiều. Có vẻ như Excel 2016 không thích độ dày biên giới của 1px; bất kỳ thứ gì lớn hơn 1px như 2px hoặc 3px hoặc 4px. Tại sao Excel 2016 hoạt động như thế này không rõ ràng với tôi.

Một bản demo cho thấy đây là tại URL sau đây: http://js.do/sun21170/84961

Ngoài ra, nếu độ dày biên giới được quy định tại bất kỳ đơn vị khác như em hoặc pt hoặc mm, sau đó độ dày 1em hoặc 1mm hoặc 1pt hoặc 1mm hoặc .5mm sẽ hoạt động.

Thậm chí độ dày biên giới bằng các giá trị được xác định trước như thin hoặc medium hoặc thick công trình trong Excel 2016.

So, the lesson I have learnt is to never specify border thickness of 1 px when using Excel.

CSS sau là các kiểu khác nhau hoạt động trong Excel 2016 để tạo đường viền.

Biên độ dày lớn hơn 1px TRÌNH

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

dày Border của 1pt TRÌNH

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

dày Border của 1mm TRÌNH

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

dày Border của 1em TRÌNH

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

dày Border của CÔNG TRÌNH mỏng

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

vĩ đại. Hoạt động hoàn hảo.Tôi đã cố gắng sửa chữa Excel năm trong câu trả lời của bạn nhưng thay đổi nhỏ không được phép trong stackoverflow –

+1

Jose, Cảm ơn bạn đã chỉ ra điều đó. Tôi đã sửa phần năm cho Excel. – Sunil

Các vấn đề liên quan