It's not complex: It you are limited to Drawing only, then first set up a Panel (or similar) to draw onto, and handle its Paint event.
Then write a method that takes a DataRow and a Graphics context, and a Y offset. Call it repeatedly for each row in the DataTable.
Inside the method you need to create RectangleF objects for each cell in the row and just call
Graphics.DrawText[
^], passing it the RectangleF and the cell contents as a string.
Try it: It's really not that complex for a "fixed" table report - it only gets complex if you need to be flexible with the cell count, sizes and location, or text wrapping / ellipsis generation.