I have a table that has a single text field in it. When I export it to a csv file in a version 10 script, for example
store mytable into myfile.txt (txt)
QlikView wraps double quotes around the lines in myfile.txt if there are spaces in the line. Also, if there is a " in the text itself QlikView adds another " next to it.
I would like for the exported text file to not contain the added quotes. I can certainly post-process the text file but I would prefer not to. Does anyone have a solution for this?
The STORE takes exactly same parameters as the LOAD. Make a suitable LOAD using the wizard, and copy the string 🙂
store * from Fact into [x.txt]
(txt, codepage is 1252, no labels, delimiter is '\t', no quotes)
As a side note, if one column contains spaces, there will be still qutes in the output file . Use for example good old "tr" command line
tr -d \042 x.txt > y.txt
I'm also running into this same problem:
I'm using this command:
From Material INTO $(File) (txt, delimiter is '|', no quotes, msq);
MATNR, MAKTX, MEINS
But the outcome is:
HM200PS|"UNIFLEX HM200 SERVICE CRIMPER 1-1/4"""|PCS
So quotes around the field MAKTX and an extra quote in front of the existing quote.
Originl MAKTX was : UNIFLEX HM200 SERVICE CRIMPER 1-1/4"
Any help would be highly appreciated!
What is the purpose of the txt file? Is it to be loaded into another QV application, Excel or something. If so, remove the quotes during load at that time. If not, post proces the txt file to replace the quotes. I once needed to do and put this together with help from forum:
'...more code above......>>
set obj = ActiveDocument.GetSheetObject("SAS")
set pth = ActiveDocument.Variables("vPath")
obj.Export pth.getcontent.string&"output\clause.txt", 1
' Replace the double quotes from the txt file. Could not find a way to export without??
Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(pth.getcontent.string&"output\clause.txt", ForReading)
strText = objFile.ReadAll
strOldText = Chr(34)
strNewText = Chr(0)
strNewText = Replace(strText, strOldText, strNewText )
Set objFile = objFSO.OpenTextFile(pth.getcontent.string&"output\clause.txt", ForWriting)
PS: vPath is the path variable I define in QlikView.
The purpose is to create a file that can be uploaded into SAP.
I used the suggested workaround, only I created a smal program to do the trick. This is only slowing down the entry process as it basically has to write the file twice.
I also reported it back to QlikView, so let's see if they come up with a solution, basically the 'no quotes'statement shoud do the trick but.....
I had the exact same problem and found this post. Started to make a macro but out of pure luck (trial and error)
I got this to work.
Store ExportTest Into C:\temp\SpacesExport.txt (txt, codepage is 1252, embedded labels, delimiter is 'spaces' ,no quotes);
The trick is to have the delimiter is 'spaces' and the spaces word within single quotes.
I want to remove the labels though but havent got that to work. Tried this:
Store ExportTest Into C:\temp\SpacesExport.txt (txt, codepage is 1252, no labels, delimiter is 'spaces' ,no quotes);
Set it to no labels instead of embedded but QV doesn't pick that up.