2016-06-16 10 views
0

Ich habe eine Bootstrap-Tabelle Mitarbeiterdaten anzeigt, einschließlich der Abrechnungsnummer, die das gegebene Format haben: 1606.xxxxBootstrap TABELLENEXPORT Dezimalzahl Ausgabe

Hier ist, was meine Tabelle wie folgt aussieht:

<table id="table_search" 
    data-toggle="table" 
    data-search="true" 
    data-show-refresh="true" 
    data-show-toggle="true" 
    data-show-columns="true" 
    data-show-export="true" 
    data-minimum-count-columns="2" 
    data-show-pagination-switch="true" 
    data-pagination="true" 
    data-page-list="[10, 25, 50, 100, ALL]" 
    data-show-footer="false" 
    data-export-data-type="all" 
    data-export-types="['excel']"> 
    <thead> 
     <tr> 
      <th data-field="id">ID</th> 
      <th data-field="payroll_id" >Payroll ID</th> 
      <th data-field="nama_karyawan">Employee Name</th> 
      <th data-field="level">Level</th> 
      <th data-field="grade">Grade</th> 
      <th data-field="title">Title</th> 
      <th data-field="lokasi">Location</th> 
      <th data-field="cost_sales">Cost Sales</th> 
      <th data-field="dept">Department</th> 
      <th data-field="div">Division</th> 
      <th data-field="dir">Directorat</th> 
      <th data-field="active_period">Active Period</th> 
     </tr> 
    </thead> 
</table> 

Die Tabelle zeigt es aber richtig, wenn ich es in Excel exportieren TableExport Plugin es wie dieses, irgendwie das Plugin sehen exported results

wie Sie geht behandelt es als eine Zahl mit Nachkommastellen, w Genau das vermeide ich. Ich habe versucht, die parseNumber-Funktion zu kommentieren, die die Ursache in der js-Datei tableExport sein könnte, aber die Ergebnisse kommen immer gleich heraus.

Was mache ich falsch?

PS: Ich möchte nicht formatieren, nachdem die Datei exportiert wird, ich möchte es die Daten exportieren, wie es ist.

Antwort

0

könnten Sie

... 
<td data-tableexport-msonumberformat="\@">123.450</td> 
... 

Mit diesem der tableExport.jsmso-number-format: "\@" als TD Stil wird verwenden verwenden, während die HTML Export Excel zu erstellen. Dies führt zur Formatierung der Zelle als Text.

Beispiel: http://jsfiddle.net/uqtubq5c/1/

Sie könnten auch

... 
<td data-tableexport-msonumberformat="0.000">123.450</td> 
... 

verwenden Dies führt zu dem Zahlenformat 0.000 in Excel. Der Zelleninhalt bleibt also eine Zahl und kann in Berechnungen weiter verwendet werden. Die wird möglicherweise zu Problemen führen, während in Berechnungen verwendet wird.


Wenn Sie keine eigenen data-tableexport-msonumberformat Attribute TD Elemente festlegen können, dann könnten Sie die tableExport.jquery.plugin verlängern.

In tableExport.js haben:

... 
     var defaults = { 
     onMsoNumberFormat: onMsoNumberFormat, 
... 

onMsoNumberFormat muss eine Funktion sein.

Wenn die Funktion onMsoNumberFormat ist wie:

onMsoNumberFormat = function(cell, row, col) { 
if (row > 0 && col == 2) { 
    return "#\\,##0\\.00"; 
} 
if (row > 0 && col == 3) { 
    return "\\@"; 
} 
}; 

dann die dritte Spalte (col == 2) aus Zeile 2 (Zeile> 0), wird nach oben erhalten style="mso-number-format:#\,##0\.00" und der vierten Spalte (col == 3) ab Zeile 2 (Zeile> 0) wird style="mso-number-format:\@" angezeigt. @ ist Text Format.

Beispiel: http://jsfiddle.net/uqtubq5c/3/

+0

Ich vergaß zu erwähnen, dass ich die Tabelle am bevölkern einen JSON Rückruf verwenden. Ich kann dem TD keine Eigenschaft hinzufügen, weil ich nur den th definiere. (Ich habe meine Frage bereits bearbeitet).Ich versuchte mit jQuery die Attr() -Methode auf den Callback-Erfolg, aber ich kann es nicht funktionieren – Shera

+0

Siehe meine Ergänzungen. –

+0

Sie sind ein Lebensretter! Diese Fiddle sollte in der Bootstrap-Beispielseite sein – Shera