2017-09-20 1 views
3

Ich bin auf der Suche nach einer Möglichkeit, Excel Charts von NVd3 in Angularjs zu exportieren.Wie exportiere ich ein Base64-Image nach Excel?

Ich versuche, Code wie folgt (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

Sind Sie sicher, dass Sie ein Bild in eine Excel-Datei einfügen möchten? Dies scheint eine falsche Interpretation einer Spezifikation zu sein. – Duopixel

+0

Ja, meine Absicht war ein nvd3-Diagramm in Excel, aber ich habe keine genaue Lösung dafür, also versuche ich, Svg-Formatdaten in base64-Typ-Bild zu konvertieren und versuche, ein Bild in Excel zu setzen Idee bitte teilen Sie mit mir (Export Svg zu Excel). –

+0

Ich brauche auch eine Antwort auf diese Frage, da ich möchte, dass mein Base64-Bild in Excel mit Javascript oder Jquery exportiert wird. Kann mir bitte jemand helfen? –

Antwort

0

Excel scheint nicht Base64-codierte Bilder ...

Versuchen Sie einfach tun, eine Ajax-POST-Anforderung an gerne Dein Server mit den PNG base64-kodierten Daten des gerade ausfallenden Bildes, in einen Dienst, der Bilder speichert und für sie hostet, ein paar Beispiel-PHP-Code (ich gehe davon aus, dass du Zugriff auf einen Linux-Server hast, der php ausführen kann):

<?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; 

Dann nutzen Sie einfach die Antwort des Servers als URL in der Excel-Datei. So können Sie eine Verknüpfung in ein Bild anstelle eines Bildes selbst einbetten.

so der Zellinhalt konnte mir ähnlich wie:

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

Kleinere Excel-Dateien sollten die Menschen glücklich machen, aber Sie werden Dinge betrachten müssen, wie, wie lange die Dateien dort leben einschließlich der tatsächlichen betrachten Daten, die zum Generieren des Formulars verwendet wurden, sodass künftige Excel-Benutzer den Graphen kostengünstig wiederherstellen können, wenn der Image-Server ausfällt oder die Images "ablaufen".

Ich hoffe, das hilft!

Verwandte Themen