Ich habe query
mit cfspreadsheet
erstellt. Jetzt frage ich mich, ob es möglich ist, Abfrage zu Tab-getrennte Textdatei zu konvertieren. Dies ist mein Code, um die Abfrage zu erhalten:Wie erstellt man tabulatorgetrennte Textdateien von cfquery?
<cfspreadsheet action="read" src="C:\myFiles\Records.xlsx" query="myQuery" headerrow="1">
Hier ist die Liste meiner Aufzeichnungen aus Excel in cfquery vertreten:
FIRST_NAME LAST_NAME DOB GENDER
1 FIRST_NAME LAST_NAME DOB GENDER
2 Mike Johns 01/12/98 M
3 Helen Johns 2/2/01 F
ich meine Textdatei wie folgt aussehen würde, wenn möglich:
FIRST_NAME LAST_NAME DOB GENDER
Mike Johns 01/12/98 M
Helen Johns 2/2/01 F
Tabulatortrennzeichen zwischen den Werten und \ n, um Newline zu erstellen. Ich habe versucht, .csv
, aber ich konnte Datei nicht organisiert bekommen, wie ich oben gezeigt habe. Auch wenn es eine andere Möglichkeit gibt, .xlsx
Datei in .txt
zu konvertieren, lass es mich wissen. Ich suchte xp_cmdshell
Befehle, aber es gibt nichts, das in meinem Fall hilfreich wäre.
Hier si den Code, den ich CSV-Datei zu erhalten verwendet:
<cfspreadsheet action="read" format="csv" src="C:\myFiles\Records.xlsx" name="myCsv">
Dann habe ich FileWrite()
.txt-Datei zu erhalten:
<cfscript>
FileWrite("C:\myFiles\Records.txt", "#myCsv#");
</cfscript>
-Code gab mir über Tabulator getrennte Textdatei aber Ein Problem trat auf, wenn der Wert im Feld leer war, verschwanden diese Spalten. Zum Beispiel, wenn ich keinen Wert in meiner Spalte GENDER hatte, wurde diese Spalte nicht erstellt.
Sie haben schon lange genug um den Bohrer zu wissen ;-) Bitte senden Sie den Code Sie bisher versucht haben. – Leigh
@Leigh Frage aktualisiert. –
Ich glaube nicht, dass es RFC 4180-konforme Funktionen in CF gibt ('cfspreadsheet action =" write "' ist ziemlich janky). Sie müssen eine Funktion selbst schreiben. Tipp: Es gibt mehr als nur leere Spalten, denken Sie an Tabulatoren und Zeilenumbrüche in Ihren Abfragewerten. – Alex