This is essentially the same as the example above to insert data into a text file. There have been many inquiries, so here is an explicit example.
# Report3 creates a CSV File (comma separated values)
# used for report data in Excel
# It first Tests if ReportClient3.csv file exists,
# then enters a row of time stamped data
# if not, create the csv with column header row
if {[file exists "../ReportClient3.csv"]} then {
set fileid [open "../ReportClient3.csv" a+]
puts $fileid "[GETVAL %TTMDATE],[GETVAL %TTMTIME],[GETVAL AMPLITUDE],[GETVAL TIMER] "
close $fileid
} else {
set fileid [open "../ReportClient3.csv" a+]
seek $fileid 0 start
# Column Headers - optional
puts $fileid "DATE, TIME, AMPLITUDE, TIMER"
#Insert data into table
puts $fileid "[GETVAL %TTMDATE],[GETVAL %TTMTIME],[GETVAL AMPLITUDE],[GETVAL TIMER] "
close $fileid
}
If you need a report of values that can be imported to Excel (the common use for CSV files), then you should also look at the Scheduled Reports feature in Advantech WebAccess/SCADA and the Analog Tag log; both create HTML formatted reports that can be copied to EXCEL. Scheduled reports can be emailed to end users who can then copy them into and EXCEL spreadsheet using copy-paste.