--- loncom/interface/spreadsheet/Spreadsheet.pm 2003/12/08 19:43:03 1.32 +++ loncom/interface/spreadsheet/Spreadsheet.pm 2004/01/14 16:47:39 1.33 @@ -1,5 +1,5 @@ # -# $Id: Spreadsheet.pm,v 1.32 2003/12/08 19:43:03 matthew Exp $ +# $Id: Spreadsheet.pm,v 1.33 2004/01/14 16:47:39 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -160,7 +160,8 @@ sub filename { if ($newfilename !~ /\w/ || $newfilename =~ /^\W*$/) { $newfilename = 'default_'.$self->{'type'}; } - if ($newfilename !~ /^default\.$self->{'type'}$/ ) { + if ($newfilename !~ /^default\.$self->{'type'}$/ && + $newfilename !~ /^\/res\/(.*)spreadsheet$/) { if ($newfilename !~ /_$self->{'type'}$/) { $newfilename =~ s/[\s_]*$//; $newfilename .= '_'.$self->{'type'}; @@ -1209,6 +1210,9 @@ sub display { } elsif ($outputmode eq 'csv') { $self->compute($r); $self->outsheet_csv($r); + } elsif ($outputmode eq 'xml') { +# $self->compute($r); + $self->outsheet_xml($r); } $self->cleanup(); return; @@ -1356,6 +1360,8 @@ sub output_options { description => 'HTML'}, {value => 'excel', description => 'Excel'}, +# {value => 'xml', +# description => 'XML'}, {value => 'csv', description => 'Comma Separated Values'},); } @@ -1555,13 +1561,16 @@ sub outsheet_xml { my $col = $1; $Str .= ''."\n"; } else { - my ($row,$col) = ($cell =~ /^([A-z])(\d+)/); + my ($col,$row) = ($cell =~ /^([A-z])(\d+)/); next if (! defined($row) || ! defined($col)); - $Str .= ''.$formula.'' + next if ($row != 0); + $Str .= + ''.$formula.'' ."\n"; } } $Str.=""; +# $r->print("
\n\n\n".$Str."\n\n\n
"); return $Str; } @@ -1643,7 +1652,7 @@ sub load { # Not cached, need to read if (! defined($filename)) { $formulas = $self->load_system_default_sheet(); - } elsif($self->filename() =~ /^\/res\/.*\.spreadsheet$/) { + } elsif($filename =~ /^\/res\/.*\.spreadsheet$/) { # Load a spreadsheet definition file my $sheetxml=&Apache::lonnet::getfile (&Apache::lonnet::filelocation('',$filename));