Wieso kommt immer jemand auf komische Ideen etwas in einem Viewer machen zu wollen?
Ein Viewer hat was mit Anzeigen zu tun, nicht mit der Formatierung von Daten.
Man nehme irgendeine JSON-Daten-Komponente und dann
https://stackoverflow.com/questions/...json-in-delphi
https://www.delphipraxis.net/195387-...rmatieren.html
...
...
...
statt einer TStringList ein TMemo benutzen
statt einer
CSV-Komponente ein TStringGrid oder gar das ganze MSExcel
statt ...