[英]How do I export a base64 image to excel?
我正在尋找一種從Angularjs中的NVd3導出Excel圖表的方法。
我正在嘗試這樣的代碼( jsfiddle )
<button id="myButtonControlID">Export Table data into Excel</button>
<div id="divTableDataHolder">
<table>
<tbody>
<tr>
<td><img src='http://codepattern.net/Blog/pics/CodepatternLogoN.png' alt=''/></td>
</tr>
<tr>
<td><img id="img" src='' alt=''/></td>
</tr>
</tbody>
</table>
</div>
$("[id$=myButtonControlID]").click(function(e) {
window.open('data:application/vnd.ms-excel,' + encodeURIComponent( $('div[id$=divTableDataHolder]').html()));
e.preventDefault();
});
document.getElementById("img").src ="data:image/png;base64,..."
Excel似乎不喜歡base64編碼的圖像......
嘗試使用當前失敗圖像的PNG base64編碼數據向服務器執行ajax POST請求,進入存儲圖像並為其提供托管的服務,一些示例php代碼(我假設您可以訪問Linux服務器)可以運行php):
<?php
$somecode = unique_name(); //left as excersise for the reader.
move_uploaded_file($_FILES["filename"]["tmp_name"],"destination_$somecode.png");
//also, check for errors.
echo $somecode;
然后只需使用服務器的響應作為excel文件中的URL。 這樣你就可以嵌入到圖像的鏈接而不是圖像本身。
所以細胞內容可以類似於:
<td><img src='yourhost.com/your_image_location' /></td>
較小的excel文件應該讓人開心,但你必須考慮文件將存在多長時間,考慮包括用於生成表單的實際數據,因此未來的Excel用戶可以廉價地重建圖形,如果圖像服務器下降,或圖像“過期”。
我希望這有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.