In our District there's about 180 instructional days, I wouldn't recommend that many columns (but you do you!)
I think I see what you're saying; you want every student to be listed for each school day whether they're absent or present (that's what A and P mean, right?). I'd suggest updating your table posted above to something like this:
| RollNo |
Name |
Date |
Present? |
| 1 |
Student A |
2022-03-03 |
true |
| 2 |
Student B |
2022-03-03 |
false |
| 3 |
Student C |
2022-03-03 |
true |
Depending on class size and number of instructional days, this list would get big fast (not a problem); I'd probably suggest pre-populating the list with all of the students and instructional days, and using a gallery to display that data that's filtered on the current date. The instructor can then simply check the box for being present, press a button, and patch back to the list.
You could get cheeky and use Sequence() to return work days/days in a month to use in a gallery somehow, but knowing school districts, that would only get you so far (since work days/days in a month don't always coincide with an instructional day).
You'll want to consider a way to insert a row(s) into the list when a student enrolls mid-year, or a way to remove a student who leaves mid-year, but that's down-the-road functionality concerns.