proc sheetData {} {

	global Data DataCount VecCt Vdata CellValues Sheet

	if {!$Sheet} {
		puts stderr "Sorry, no spreadsheet available"
		return
	}

	set sw .wisql_s.ss.grid

	set cells [$sw curselection]

#	puts stderr "Got Cells $cells"
	set rows ""
	if {$cells == ""} {
		puts stderr "Ingest the whole sheet!"
		set r1 1
		set c1 1
		set r2 [expr [$sw cget -rows] -1]
		set c2 [expr [$sw cget -cols] -1]
		puts stderr "  that means c $c1 r $r1 to c $c2 r $r2"
	} else {
		lassign [split [lindex $cells 0] ,] r1 c1
		lassign [split [lindex $cells end] ,] r2 c2
		puts stderr "ingest only $c1 $r1 through $c2 $r2"
#		it's meaningless to plot one row.
		if {$r1 == $r2} {set c2 $c1}
	}

	set sample 0


#	need column names
#	so find the last set of col heads prior to this one.
#
#

#	set up sample counter

	keylset Data($DataCount) sql "Unknown, derived from spreadsheet" sample V$VecCt time [clock seconds]
	set Vdata(V$VecCt) $DataCount
	upvar #0 V$VecCt V$VecCt
	vector V$VecCt
	set sv V$VecCt
	keylset Data($DataCount) V$VecCt RowCt
	incr VecCt

	set hr [getHeads $r1]
	set i 0
	loop c $c1 [expr $c2 + 1] {
		if {$hr != ""} {
		set name OOPS
		catch {set name $CellValues($hr,$c)}
		} else {
		set name C$i 
		}
		set Vdata(V$VecCt) $DataCount
		upvar #0 V$VecCt V$VecCt
		vector V$VecCt
		keylset Data($DataCount) V$VecCt $name
		lappend vectors V$VecCt
		set colv($c) V$VecCt
		incr i
		incr VecCt
	}
	keylset Data($DataCount) vectors $vectors
#
#	stuff vectors with data
#
	set rc 1
	loop i $r1 [expr $r2 + 1] {
		loop j $c1 [expr $c2 + 1] {
			set value 0
			catch {set value $CellValues($i,$j)}
			set err [catch {expr $value}]
			set v $colv($j)	
			if {$err} {
				$v append 0
			} else {
				$v append $value
			}
		}
		$sv append $rc
		incr rc
	}
	popDlist $DataCount
	incr DataCount

}

