Well, it's all about parsing throught the data in the csv file using a program created specifically for that.
PHP can do that. And some other programs such as asp,ruby on rails.
I am a PHP programmer so in PHP terms, the script would comb through the csv file step by step(although you can't see this) and because the csv file data has some kind of structure, the logic in the program would 'know' when a row ends and another row starts therefore storing it in the database accordingly then another or the same script outputs it as raw HTML to the browser in the form that you want. The data in the CSV can also be analysed by a script and output to the browser on the fly...depends on what you want.
To parse the data in the CSV...example the below csv file:
The programmer would just create a program that parses through the files line by line and comma by comma. 'Knowing' that before the first comma, the data would be of the year 2012, data between the first and second comma in the line would be the month....and so for and so on till the end of the line. Then loop again using the same logic on the second line.
After the data is stored in a strucural form, it is then output to a script that then generates the fancy output to the browser.
If you need somebody to do it for you....hire me.