You can try this component: http://www.gemboxsoftware.com/spreadsheet/overview
and use it to create Excel file from DataGridView in memory. After that you can easily manipulate that data with components simple public API or just use it to print file:
var workbook = new ExcelFile();
// Import DataGridView to a worksheet.
DataGridViewConverter.ImportFromDataGridView(
workbook.Worksheets.Add("SHEET"),
dataGridView,
new ImportFromDataGridViewOptions());
// Print to a default printer.
workbook.Print();