簡體   English   中英

如何將base64圖像導出為ex​​cel?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM