2017-09-20 14 views
3

AngularjsのNVd3からExcelチャートをエクスポートする方法を探しています。Base64イメージを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,..." 
+0

イメージをExcelファイルに保存することは確実ですか?これは仕様の誤った解釈のようです。 – Duopixel

+0

はい、私の意図はExcelにnvd3グラフを入れましたが、それを行うための解決策はありませんので、svg形式のデータをbase64形式の画像に変換し、画像をExcelに書き込もうとします。アイデアを私と共有してください(ExcelをエクスポートするにはSVGをエクスポートしてください)。 –

+0

javascriptまたはjqueryを使用してbase64イメージをexcelにエクスポートしたいので、この質問への回答も必要です。誰でも助けてくれますか? –

答えて

0

Excelが

は、単純にAjaxのPOSTリクエストをやってみ... base64でエンコードされた画像を好きなようには見えません。画像を保存し、それらのためのホスティングを提供するサービスに、現在失敗している画像のPNG base64でエンコードされたデータを持つサーバー(PHPを実行できるLinuxサーバーにアクセスできると仮定しています)

<?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として使用します。 そのようにしてリンクを画像自体の代わりに画像に埋め込むことができます。

ので、セルの内容はと私は似た可能性:Excelファイルは、ファイルが実際に含めることを検討 そこに住むことになるどのくらいのようなものを検討する必要があります 人々を幸せにするものでなければなら

<td><img src='yourhost.com/your_image_location' /></td> 

小さめフォームを生成するために使用されたデータであるため、将来的には、イメージサーバーがダウンしたり、イメージが「期限切れになる」と、安価にグラフを再構築できます。

私はこれが役に立ちます。

関連する問題