Write to spreadsheet only if filename is different

Dear all,
I am trying to write some codes but to no avail. Basically, i have a filename coming in at every time interval (say 2 sec). I have build a small array as an example.
The filenames in the array are repetitive and i do not want to write the data to the spreadsheet  if the filename is the same.
Bascially, i need to write the header and array only for 1st c:\1.txt file and subequent c:\1.txt data (3 more) i only want to write the array only (no header) and append it to spreadsheet.
That is to say for c:\1.txt file, it will consist of 1 header and 4 sets  of array.
Then the process repeats again till a newfilename (c:\2.txt) is encountered.
c:\2.txt will also consist of 1 header and 4 sets of data.
Can anyone help out on this?
Solved!
Go to Solution.
Attachments:
snip.png ‏9 KB
Untitled 2.vi ‏11 KB

The shift register will only work if the last filename matches.  If you want to make sure it was not used before, you need to compare with all previous filenames that were used.
See code snippet below:
Message Edited by Ray.R on 04-15-2010 08:27 AM
Attachments:
writeSprdShtCdtnl.png ‏34 KB

Similar Messages

  • Write to spreadsheet file.vi is storing data in one row only.

    The 8 points of data is going into one column in the spreadsheet. In the "Write to spreadsheet file string.vi" how do I write the 8 points to one row for each cycle?
    I got this VI from NI's web a couple of years ago and forgot how to modify this part. I usume it is within the write file.vi.
    Thank you in advance
    Skip

    I just reread your original post and the way the "Write to Spreadsheet File.vi" that ships with LV works by default is to put 1D arrays into rows. I read your post backwards and told you how to put the data in a column. Sorry.
    In any case, perhaps you need to make sure the Transpose input ISN'T true, and that the delimiter IS a tab.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • How can I use "write to spreadsheet" during the data is taking but not the end of all the loops

    Hi,
    I have to run an experiment on Labview 6 or 5. I don't have Labview 7 on that computer for some reason. My experiment is talking about 1000 hours, and I have a probelm on storing the data. Right now I am using "Write to spread sheet" and I set the "append" to false. And the data is installed at the end of the experiment, that means after 1000 hours. In the mean time if somthing oges wrong like power cut or what, I will lose all the data. So what I want to do is to save the data evertime when the data is took. I tired to set the "append" to true, but it does not let me to choose the "file path"--- when I choose this and select write on new or excisting file, it said" you may not be able to save on a exciting file" and it does not let me create a new file either. If anyone have the lidea like how can I use the "wrtie to spreadsheet" function and at the same time can install the data everytime inside the look, please let me know. Thanks alot.
    KL

    KL,
    It sounds like you want to periodically save your data so it is in smaller files. (great idea) For this operation you will not want to append the data...if something happens to your system while the file is open it could become corrupt and ruin all the data. You need to write the new block of data to a new file every time. Now...this depends on how big your data is...if you only have like 500k of data to write in a block you should probably write several blocks before starting a new file. I don't know enough about how much data you are acquiring. In either case...the write to spreadsheet file.vi will need a different name each time it is called and you will not want to append. Append = false.
    -Brett

  • Write to spreadsheet adds carriage return

    I am using build array function to put together a number of strings and build an array of strings.  The build array is in a while loop.  A new line is added to the array every loop.  I am using write to spread sheet function to save the spreadsheet to a file with xls extension.  For some reason, a carriage return is inserted within the array.  The array has 9 columns and a carriage return is put after the fourth column.  I have not added this carriage return.  Does anyone know why write to spreadsheet might automatically add a carriage return and how to remove it?  
    Thank you!
    Solved!
    Go to Solution.

    Hi,
    I took your posted VI and compiled it to an exe.  I do not see the carriage return problem you are describing?
    If you compile the VI you attached, do you see the problem or is it only in the original main application (that you cannot share)?
    If the compiled exe works on your PC, does it also work on the 'different' computer where you see the issue with your original code?  
    -If it does work, then the issue must be in the source code for your original code.  Sometimes, if you re-size string constants, for example, it can be hard to see carriage return's.
    Another thing it could be perhaps, is if you are calling the "write spreadsheet" in two different places in your main code, then the way it works is it will write your two (different) input arrays to separate lines.  If it is as in your example VI though, there should be no carriage return in the "middle" of the array.
    For debug purposes, you could consider making a VI that takes a 1D string array input, iterates over each element in the array and searches for the carriage return character and gives an error/message on what iteration it found it, then you can back-track from there to see in the code responsible for making the string that went into that index.
    QFang
    CLD LabVIEW 7.1 to 2013

  • Error 6 occurred at Open/Create/Replace File in Write Spreadsheet String.vi- Write To Spreadsheet File (string).vi- Untitled 1

    Hi I'm getting the above error when attempting to get a file path control to write to a spreadsheet vi?
    The spreadsheet is opened in open office but saved as a .xls in the documents folder.
    The spreadsheet only contains one row and three columns each with text contained but when I run the VI and then open and view the actual speadsheet all three headers appear together in the A1 cell before the title error message appears.
    Is Labview not compatible with open office? Perhaps someone can confirm if this is indeed the case?
    Thanks in advance...

    Solved. One just needs to click seperate by tab in the import dialog than opens in OO calc.

  • Wiring write to spreadsheet.vi to read from spreadsheet.vi and plot the data

    I need to plot the data file from the two 'write to spreadsheet.vi' into a graph. Does anyone know how should I connect the 'read from spreadsheet.vi' so that I can plot my data?
    Please refer to the snippets.
    Thanks.
    Attachments:
    read from spreadsheet.png ‏31 KB

    Hi Lynn,
    You're asking the very same question that I've been wondering about because I don't have the time info. I've found an example that have both info, temperature and time in two colums in one file..it uses two Index Array for time and temp, use the bundle feature, display the plot in an XY graph. So, that was an easy one, but apparently my case is different.
    I've a program that collected the data from simulated signals and it is plotted in a waveform graph against time (amplitude vs time), and a power spectrum (amplitude vs frequency). But the data that I collected are the RMS values and power spectrum amplitude...so, I'm not sure where the time data go. I need to figure this out.

  • Help on fonction Write to spreadsheet file

    Hello,
    I come on this forum to find a solution for my issue.
    I have made a VI which acquires an input voltage and where the user can modify some parameters.
    For each iteration of my while loop, I want to save the data in a csv file that's why I'm using the fonction Write to spreadsheet file.
    But when I want to use this saved datas in csv format with Excel, the data were saved in string format so not a numeric. My purpose is to have some numerical datas and not strings because I can't do graphics or calculs.
    As you can see on the csv saved file, only the iterations of the while loop (column C) are in a numerical format.
    Here is my problem, thank you in advance for your help
    Attachments:
    VI.png ‏22 KB
    Excel_saved_file.png ‏11 KB

    Looks like you're using regional decimal signs, try "%.;.3f" as format
    /Y
    LabVIEW 8.2 - 2014
    "Only dead fish swim downstream" - "My life for Kudos!" - "Dumb people repeat old mistakes - smart ones create new ones."
    G# - Free award winning reference based OOP for LV

  • Trying to write to spreadsheet...

    I am trying to use a Tektronix TDS 420A oscillscope with LabVIEW to write
    to a spreadsheet file that will be opened using Excel. I have tried wire
    the graph output to the Write to Spreadsheet.vi, but it keeps giving me a
    wiring error. Any ideas or help would be grealty appreciated.

    Reverse engineer the process of creating graph and the error will be
    aparent. To create graph you have to specify three parameters t0, dt, data,
    these parameters are bundled in the respective order and passed on to the
    graph indicator. If you just pass data then bundling is implicit, t=1,dt=1.
    If you look at the inputs required by Spreadsheet VI, you will see that it
    needs either 1D or 2D array, so unbundle your graphs data and you will be
    OK. Also graph is an indicator so you cannot directly wire it in the
    spreadsheet VI. Anyways I would read manual, for these type of errors.
    Turn on help window and check online reference Ctrl-?.
    "Darrell Sharp" wrote in message
    news:[email protected]..
    >
    > I am trying to use a Tektronix TDS 420A
    oscillscope with LabVIEW to write
    > to a spreadsheet file that will be opened using Excel. I have tried wire
    > the graph output to the Write to Spreadsheet.vi, but it keeps giving me a
    > wiring error. Any ideas or help would be grealty appreciated.
    >
    -----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
    http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
    -----== Over 80,000 Newsgroups - 16 Different Servers! =-----

  • Write to spreadsheet problems

    I am trying to use the following program to write data to a spreadsheet. It is meant to monitor and record information about various parts of a sputtering machine. However, when run, it gives me a sheet with only the headers on it, and often asks several times in the same run whether I would like to write over the old file. I would like it to just append to the file, rather than rewriting it every time, as that would make the program useless. Why does it not write the data to the file?
    Note: everywhere there is a blank node in the file, there is in the real program a string of data from another source that is read at the same time this program is run. The file is provided by a front panel control that I forgot to include in the file.
    I've got a sneaking suspicion that Jesus might have been made of bread. Why else did they have to put him in a warm cave and wait three days for him to rise?
    Damnant quadnon intelligunt - They condemn what they do not understand.
    Attachments:
    Write to File.vi ‏42 KB

    You've made some pretty obvious mistakes. First, your Open/Create/Replace File is set to "create or replace". The function means exactly what it says. If the file doesn't exist, create it and if it does exist, replace it. You don't have anything wire to the advisory dialog so every time it runs, you'll get a message asking you if you really do want to replace it. Second, you are using the Format Into File function. As the help mentions, you cannot use this to append data to a file. And, you have no data wired to it anyway so all you get is a header.
    You don't have to use the Open/Create/Replace function each and every time. At the very beginning of the program, you can create the file once and then just use the Write File to append data. Use the Close File at the very end. You can also make things simpler by using the Write To Spreadsheet File function. It has an input for Append. You can use the Write File at the very beginning to write a header once and then call Write to spreadsheet and pass an array of data. It will do the formatting for you (adding tabs, etc.).

  • Some Doubts in write into spreadsheet file function

    hi,
    i have some problem with writing the values into excel file...if \ found then the values after will write the values in next rows...
    for eg. if i give 78/58\46/86 then i will write as in picture i hav attached..
    Attachments:
    Mod 1.vi ‏23 KB
    Untitled.png ‏135 KB

    The Write to Spreadsheet File is not the same as writing to Excel -- for that, you should use the Report Generation Toolkit (and there have been a number of posts here, as well as examples that ship with LabVIEW).
    That being said, it is not clear (a) what you are trying to do, and (b) what is (or is not) happening.  The image you attached looks OK ...

  • How do I update credit card info for my iCloud Apple ID only (I have a different iTune Apple ID)?

    How do I update credit card info for my iCloud Apple ID only (I have a different iTune Apple ID)?

    I hope by now you found it already, but if not ...
    iTunes Store: Changing account information - Apple - Support
    it is the same as itunes account.

  • How to get only column names from different tables as single table columns

    Hi All,
       I have one requirement in which we want only column names from different tables.
    for example :
     I have three tables T1 ,T2, T3 having
      col1 clo2 clo3 -->  T1 , 
      col3 col5 ,clo6 --> T2 ,
      Clo6 col8 col9 --> T3
    columns i want to get only all  Column names from all table as single Resultset not any data from that how can i get that empty resultset 
    because this empty result i want to bind in datagridview(front end) as Empty resultset 
    Please tell me anyways to do this
    Niraj Sevalkar

    If I understand you want an empty result set, just with metadata. SET FMTONLY do the trick:
    SET FMTONLY ON
    SELECT Col1, Col2, Col3, ....., Coln
    FROM
    T1 CROSS JOIN T2 CROSS JOIN T3
    SET FMTONLY OFF
    Another alternative is to include an imposible contition
    SELECT Col1, Col2, Col3, ....., Coln
    FROM
    T1 CROSS JOIN T2 CROSS JOIN T3
    WHERE 1 = 0
    If you are using a SqlDataAdapter in your client application. You can use the FillSchema method. the select command may be any select statement that returns the columns you want. Under the covers FillSchema will call SET FMTONLY ON.
    If you are using SqlCommand.ExecuteReader you can pass SchemaOnly to CommandBehavior argument. SET FMTONLY ON is called under the covers. Again the select command may be any select statement that returns the columns you want.
    "No darás tropezón ni desatino que no te haga adelantar camino" Bernardo Balbuena

  • TS1398 I can no longer sign in to my home fi (bt hub) with my iphone 4. Yet I can get on wireless with my laptop so the hub is working. The only thing Ive done different recently is download and use an app called Onavo mobile ltd which Ive now deleted, he

    I can no longer sign in to my home fi (bt hub) with my iphone 4. Yet I can get on wireless with my laptop so the hub is working. The only thing Ive done different recently is download and use an app called Onavo mobile ltd which Ive now deleted, help pls?

    Read another post in the forum about this and it appears this app also installs a profile with a proxy service that you will have to try and delete as well. Check that out.

  • How can I write to spreadsheet or measurement file the following signals

    Hi Friends !
    I'm wondering how to write to spreadsheet or measurement file 1 and 0 from my DAQ assistant on this VI :
    It's the same VI like this one : http://zone.ni.com/devzone/cda/epd/p/id/6405
    Solved!
    Go to Solution.
    Attachments:
    My.vi ‏135 KB

    Hey,
    You place the Write To Measurement File Express VI on your blockdiagram and route a wire from it's "Signals Input" terminal to the DAQ Assistant's "data" terminal. Like this:
    Christian

  • How to get only the filename and extension for a text item?

    Suppose there is a non-database text item called :myfilename
    :myfilename := 'C:\SomeFolder\SomePath\myfile.doc';
    I would like to get the file name only without the full path,
    i.e. myfile.doc
    and the file extension, i.e. 'doc', 'bat', 'java', 'xhtml' etc., i.e. the last few chars from the right to the period.
    Any help is welcome.

    Thanks for the hints.
    I defined the non-database Text Item called FULLFILENAME and another two text items called FILE_NAME, FILE_EXTENSION. The following can extract the file extension,
    select substr(:FULLFILENAME,instr(:FULLFILENAME,'.')+1) into :FILE_EXTENSION from dual;
    e.g.
    :FULLFILENAME := 'C:\MyFolder\AnotherFolder\file.doc';
    FILE_EXTENSION becomes 'doc'
    but I would also like to extract only the filename without path into FILE_NAME,
    i.e. file.doc
    Please give more hints. Thanks.

Maybe you are looking for