2016-05-26 4 views
2

元々望ましくないActiveXObjectを使用してHTML表をExcelにエクスポートしたページで作業しています。テーブルをjQuery DataTableに変換し、ここに記載されているExcelのエクスポート機能を使用しています。https://datatables.net/extensions/buttons/examples/initialisation/export.htmljQuery Datatable Excelエクスポート:数値列

ドルの金額の列を使用している問題を除き、エクスポートは正常に機能しています。 ActiveXObjectを使用してエクスポートすると、この列は数値列として認識されました。ただし、DataTableエクスポートを使用すると、列は数値操作が実行されないようにするテキストとして表示されます。列の各セルには、データの問題を示す左上隅に小さな緑色の三角形が含まれています。警告アイコンの上にマウスを置くと、「Number Stored Text」という警告が表示されます。 Excelでは列を数値に変換できますが、ユーザーは自動的に数値としてこの列に使用されます。なぜこれが起こっているか、どのようにそれを解決するためのアイデアですか?

答えて

0

私は次のようにこの問題を解決することができました:

var buttonCommon = { 
    exportOptions: { 
     format: { 
      body: function (data, column, row, node) { 
       return (column >= 5 && column <= 7) ? data.replace(/[.]/g, '').replace(',', '.') : data; 
      } 
     } 
    } 
}; 

$('#tableHist').DataTable({ 
    "info": false, 
    "ordering": false, 
    "scrollX": true, 
    "searching": false, 
    dom: 'Bfrtip', 
    buttons: [ 
     $.extend(true, {}, buttonCommon, { 
      extend: 'excelHtml5', 
      title: 'CIR_RESSEGURO_HISTORICO_AJUSTE_PMD' 
     }) 
    ], 
    "language": { 
     "url": "//cdn.datatables.net/plug-ins/1.10.12/i18n/Portuguese-Brasil.json" 
    } 
}); 
関連する問題