You should be able to do what you want using Open XML, take a look at the following online article:
Creating Documents by Using the Open XML Format SDK 2.0 (Part 2 of 3)
The theme of this scenario is document assembly and involves creating a file based on external data sources, such as other files or databases. In this scenario, you are a developer for a fictional company named Adventure Works. This company stores all sales information in a database. Currently, the sales team uses Excel to connect to the database manually to retrieve the latest sales information. Your job is to create a report generation tool that automatically retrieves data from the database, imports it into Excel, and creates a report with a chart. The Sales team will run this solution on the report server in overnight batches, so there is a strict requirement that they cannot use the Excel application client.
http://msdn.microsoft.com/en-us/library/dd452407(office.12).aspx
It outlines using template documents. It doesn't generate a chart from scratch, but it is almost exactly the scenario you outlined above.
Edit: Found another question that provides an array of answers:
http://stackoverflow.com/questions/151005/create-excel-xls-and-xlsx-file-from-c