2016-10-25 18 views
7

jQueryプラグインのDatatablesを使用してGoogleスクリプト生成ウェブサイトを作成しました。 Excel HYPERLINKでDatatablesプラグインのExcelへのエクスポート機能に問題があります。 jQuery Datatables excelHtml5 HYPERLINKにエクスポート

は、私は私のエクスポートされたExcelファイル内のクリック可能なハイパーリンクをしたいので、JavaScriptで次のように私は私のリンクをフォーマット:

=HYPERLINK("photourl";"Photo 1") 

Excelエクスポートが生成され、フォーマットは結構です。ただし、クリック可能なリンクではなくスニペットを正確に示しています。セルを選択して、変更せずに定義を1回クリックすると、クリック可能なURLが自動的に表示されます。

クリック可能なリンクにするためにできることはありますか?

+0

これが役立つかもしれません。 http://superuser.com/questions/836324/cells-not-updating-automatically/836325 – Badr

+0

Datatablesからのエクスポートを修正できませんでした。データテーブルからすべてのデータを取り出し、それを新しいスプレッドシートに書き込んだ後、Excelとしてダウンロードしたスプレッドシートに書き込んで問題を解決しました。 –

答えて

0

一つの解決策は、例えば、エクセルハイパーリンク式形式で表現を使用することです:

= '= HYPERLINK(」https://[myサイト] .COM /' & [識別子] & ' ""' & [フレンドリーExcelの値] & '")'

Excel内では、デフォルトで自動的に式が認識されません。認識を最も簡単にするには、すべての '='を '='で置き換える(Ctrl + H)ことが最も簡単です。

リンクが機能します。

http://office.microsoft.com/en-gb/excel-help/hyperlink-function-HP010062412.aspx

https://superuser.com/questions/448376/what-is-the-excel-hotkey-to-re-calculate-all-formula-in-sheet

1

私はいくつかの作業例 を持ってEXECLでのエクスポートが任意のサーバーサイド言語を使用せずに、非常にタフな仕事ですが、XLS、ギにデータテーブルをエクスポートするXMLコードを書くことができます見つけてくださいコードとファイルhere

これはjQueryプラグイン

であり、私は、ファイルをエクスポートするために、サンプルコードを書いています

<html> 
     <head> 
      <meta charset="UTF-8"> 
      <link rel="stylesheet" href="css/chintanTableDesign_1.css"/> 
      <title></title> 
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
      <script src="http://eportal.esparkbiz.com/asset/js/export_execl_js/jquery.battatech.excelexport.js" language="javascript" type="text/javascript"></script> 

     </head> 
     <body> 
      <table class="tableChintan" width="100%"> 
       <tr> 
        <th colspan="10" style="font-size: 25px;text-align: center"> 
         ABC Pvt. ltd. 
        </th> 
        <th> 
         <select id="type_account" name="type_account" onchange="GetFilter();"> 
          <option value="ALL" >ALL</option> 
          <option value="AC" >AC</option> 
          <option value="CASH" >CASH</option> 
          <option value="PF" selected>PF</option>       
         </select> 
        </th> 
        <th> 
         <a id="btnExport" href="javascript:void(0);"> EXPORT</a> 
        </th> 
       </tr></table> 
      <table class="tableChintan" width="100%" id="tblExport"> 
       <tr> 
        <th>Employee Name</th> 
        <th>Month</th> 
        <th>BASIC</th> 
        <th>DA</th> 
        <th>HRA</th> 
        <th>TA</th> 
        <th>Sp Allownce</th> 
        <th>LEAVE ENCASH</th> 
        <th>abs_days</th> 
        <th>extra_days</th> 
        <th>PF EMP</th> 
        <th>PF COMP</th> 
    <!--    <th>ESI EMP</th> 
        <th>ESI COMP</th>--> 
        <th>PT</th> 
        <th>TOTAL SAL CHEQUE</th> 
        <th>actual_sal </th> 
        <th>actual_sal WP</th> 
        <th>NA</th> 
        <th></th> 

       </tr> 
       </tr></table>  
    </table> 
     </body> 
    </html> 

    <script type="text/javascript"> 
     $(document).ready(function() { 
      $("#btnExport").click(function() { 
       $("#tblExport").btechco_excelexport({ 
        containerid: "tblExport" 
        , datatype: $datatype.Table 
       }); 
      }); 

     }); 
</script> 

あなたjquery.min.js

を含めるのを忘れないでください、あなたが強制的にファイル名を変更したい場合は、その後お楽しみください同じ

のために私は別のjQueryプラグインを持って知らせてみください!!!!!!!!!!!!

0

私のソリューションが誰かを助けて、エクセルの輸出を既に非常に便利な図書館 に展開するのに役立つことを願っています。

検索の時間がたってから、私はここでExcelのエクスポートとDatatablesのフォーラムでリンクの解決策を探している人がたくさんいました。

主な問題は、デフォルトのエクスポートは2つの異なるフォーマットのみが考慮されることです。数とinlinestring。 リンクはインラインストリングでも数字でもなく、関数であり、魔法使いはtyp strを必要とします。

私の解決策を探すにあたり、多くの役に立つ部分があります。

  1. エクスポートを調整する必要があります。「カスタマイズ」オプションは既に用意されています。 https://datatables.net/extensions/buttons/examples/html5/excelTextBold.html この例では、列Cのすべてのセルが考慮されます。すべてのセルをループして、可能なURLを見つけようとします。

  2. リンクを式に置き換える必要があります。デフォルトでは、セルタイプはインライン展開されていますが、これは型strと値として使用される式に置き換える必要があります。 Dzyannに感謝します。 https://datatables.net/forums/discussion/42097/can-you-export-a-table-and-format-a-cell-to-use-a-formula-using-orthogonal-data

  3. リンクに下線を付けるには、[4]の形式で指定する必要があります。利用可能なフォーマットの 一覧:https://datatables.net/reference/button/excelHtml5#Built-in-styles

私のソリューション私の要件のために働く:

// (1.) customize export 
    customize: function(xlsx) { 

     var sheet = xlsx.xl.worksheets['sheet1.xml']; 

     // Loop over all cells in sheet 
     $('row c', sheet).each(function() { 

      // if cell starts with http 
      if ($('is t', this).text().indexOf("http") > -1) { 

       // (2.) change the type to `str` which is a formula 
       $(this).attr('t', 'str'); 
       //append the formula 
       $(this).append('<f>' + 'HYPERLINK("'+$('is t', this).text()+'","'+$('is t', this).text()+'")'+ '</f>'); 
       //remove the inlineStr 
       $('is', this).remove(); 
       // (3.) underline 
       $(this).attr('s', '4'); 
      } 
     }); 
}