--- loncom/interface/Attic/lonspreadsheet.pm	2002/11/21 18:56:36	1.145
+++ loncom/interface/Attic/lonspreadsheet.pm	2002/11/21 19:26:34	1.147
@@ -1,5 +1,5 @@
 #
-# $Id: lonspreadsheet.pm,v 1.145 2002/11/21 18:56:36 matthew Exp $
+# $Id: lonspreadsheet.pm,v 1.147 2002/11/21 19:26:34 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1530,10 +1530,9 @@ A link to the spreadsheet will be availa
 END
     $r->rflush();
     my $starttime = time;
-    foreach (keys(%f)) {
-	next if ($_!~/^A(\d+)/ || $1 == 0 || ($f{$_}=~/^[!~-]/));
+    foreach my $rownum (&sort_indicies($sheet)) {
         $count++;
-        my ($sname,$sdom) = split(':',$f{$_});
+        my ($sname,$sdom) = split(':',$f{'A'.$rownum});
         my $student_excel_worksheet=$workbook->addworksheet($sname.'@'.$sdom);
         # Create a new spreadsheet
         my $studentsheet = &makenewsheet($sname,$sdom,'studentcalc',undef);
@@ -2317,7 +2316,8 @@ sub updatestudentassesssheet {
     $sheet->{'maxrow'} = 0;
     my %existing=();
     # Now obsolete rows
-    while (my ($cell, $formula) = each (%f)) {
+    foreach my $cell (keys(%f)) {
+        my $formula = $f{$cell};
         next if ($cell !~ /^A(\d+)/);
         $sheet->{'maxrow'} = $1 if ($1 > $sheet->{'maxrow'});
         my ($usy,$ufn)=split(/__&&&\__/,$formula);