2016-04-07 13 views
2

Ich möchte einzelne löschen, aber wenn ich sie entferne, wird die führende Null nicht angezeigt.Die führende Null wird ohne Anführungszeichen angezeigt.

Ich möchte führende Null angezeigt werden, aber ohne Anführungszeichen.

Meine Spaltendatentyp ist varchar:

<cfquery name="getStudent" datasource="#Application.dsn#"> 
     SELECT CONCAT('\'',U.user_gov_id) as User_gov_id , 
     U.user_first_name , U.user_last_name , CONCAT('\'', U.user_mobile) as Mobile_Number 
     , U.user_address, U.user_street_number, U.user_city , U.user_post_code , 
     DATE_FORMAT(U.delivery_date, '%Y-%M-%d %h:%i:%s') 
     FROM tblUSER U INNER JOIN tblUSER_PAYMENT P ON U.user_id = P.user_id 
     WHERE P.other_amount = '250' AND U.isdelivered = 0 AND U.matrix_node_number > 155 
    </cfquery> 

Für Excel Generation

<cfspreadsheet action="write" filename="#fileName1#.xlsx" query="getStudent" overwrite="true" > 
    <cfheader name="Content-Disposition" value="inline; filename=#fileName1#.xlsx"> 
    <cfcontent type="application/csv" file="#ExpandPath('#fileName1#.xlsx')#" deletefile="yes"> 
+0

(Bearbeiten) CFSpreadsheet bietet nur grundlegende Ausgabe, ohne viel in der Art der Anpassung. Sie müssen stattdessen SpreadSheet-Funktionen verwenden. Wenn Sie eine Suche durchführen, gibt es einige Threads zum Beibehalten führender Nullen. Kurz gesagt, müssen Sie die Spalten zuerst als "Text" formatieren und dann die Werte mit Funktionen hinzufügen. Ich kann den spezifischen Thread nicht finden, an den ich dachte, aber [dieser] (http://stackoverflow.com/questions/25772326/querynew-data-types-in-cf9/25789366#25789366) zeigt, wie man eine Zelle als formatiert Text. – Leigh

+0

[Dieser Thread] (http://stackoverflow.com/questions/31834337/sql-to-excel-loses-trailing-zeros) ist über * trailing * Nullen, aber es ist das gleiche allgemeine Konzept, dh formatieren Sie die Zellen und Daten hinzufügen. – Leigh

+0

Ich habe eine Funktion für die, die Excel zum Speichern als Text erzwingen. und es funktioniert jetzt –

Antwort

1

Format der Spalte als Text vor der Tabelle auszuschreiben. Im folgenden Beispiel sind die Spalten 2 und 3 als Text formatiert.

<cfscript> 
    format={}; 

    format.date={}; 
    format.date.dataformat="mm/dd/yyyy"; 

    format.text={}; 
    format.text.dataformat="@"; 

    var theSheet=SpreadSheetNew("OutputSheet"); 
    SpreadsheetAddRow(theSheet,ArrayToList(query.getColumnNames())); 
    SpreadsheetAddRows(theSheet,query); 
    SpreadsheetFormatColumn(theSheet,format.text,2); 
    SpreadsheetFormatColumn(theSheet,format.text,3); 
    SpreadsheetFormatColumn(theSheet,format.date,6); 
</cfscript> 


<cfspreadsheet action="write" 
       filename="#ExpandPath(filename)#" 
       name="theSheet" 
       sheet="1" 
       sheetName="Sheet 1" 
       overwrite="true"> 
Verwandte Themen