private void Product(DateTime date) { ok = false; SaveFileDialog fileDialog = new SaveFileDialog(); fileDialog.Title = "Exportar para Excel"; fileDialog.FileName = "Produtos - " + date.ToString("yyyy-MM-dd"); fileDialog.DefaultExt = "*.xlsx"; fileDialog.Filter = "*.xlsx | *.xlsx"; fileDialog.FileOk += FileDialog_FileOk; fileDialog.ShowDialog(); if (ok == false) { Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => this.Close())); return; } string fileName = fileDialog.FileName; try { File.Copy("Excel\\produtos.xlsx", fileName, true); value += 1; } catch (IOException ex) { MessageBox.Show(ex.Message); } try { app = new m_Excel.Application(); workbook = app.Workbooks.Open(fileName); worksheet = workbook.Worksheets[1]; string day = date.ToString("yyyy-MM-dd"); worksheet.Cells[1, 1] = "DIÁRIO - " + day; List <Relatorio.P> products = Relatorio.Product(day); value += 1; for (int i = 0; i < products.Count; i++) { worksheet.Cells[i + 3, 1] = products[i].Cod; worksheet.Cells[i + 3, 2] = products[i].Name; worksheet.Cells[i + 3, 3] = products[i].Price; worksheet.Cells[i + 3, 4] = products[i].Quantity; worksheet.Cells[i + 3, 5] = products[i].Total; } value += 1; worksheet = workbook.Worksheets[2]; DateTime date1 = date.StartOfWeek(DayOfWeek.Saturday); DateTime date2 = date1.AddDays(6); date1 = date1.AddDays(-1); date2 = date2.AddDays(1); string startDate = date1.ToString("yyyy-MM-dd"); string endDate = date2.ToString("yyyy-MM-dd"); worksheet.Cells[1, 1] = "SEMANAL - " + startDate + " - " + endDate; products = Relatorio.Product(startDate, endDate); value += 1; for (int i = 0; i < products.Count; i++) { worksheet.Cells[i + 3, 1] = products[i].Cod; worksheet.Cells[i + 3, 2] = products[i].Name; worksheet.Cells[i + 3, 3] = products[i].Price; worksheet.Cells[i + 3, 4] = products[i].Quantity; worksheet.Cells[i + 3, 5] = products[i].Total; } value += 1; worksheet = workbook.Worksheets[3]; string month = date.ToString("yyyy-MM"); worksheet.Cells[1, 1] = "MENSAL - " + month; products = Relatorio.Product(month); value += 1; for (int i = 0; i < products.Count; i++) { worksheet.Cells[i + 3, 1] = products[i].Cod; worksheet.Cells[i + 3, 2] = products[i].Name; worksheet.Cells[i + 3, 3] = products[i].Price; worksheet.Cells[i + 3, 4] = products[i].Quantity; worksheet.Cells[i + 3, 5] = products[i].Total; } value += 1; worksheet = workbook.Worksheets[4]; string year = date.ToString("yyyy"); worksheet.Cells[1, 1] = "DIÁRIO - " + year; products = Relatorio.Product(year); value += 1; for (int i = 0; i < products.Count; i++) { worksheet.Cells[i + 3, 1] = products[i].Cod; worksheet.Cells[i + 3, 2] = products[i].Name; worksheet.Cells[i + 3, 3] = products[i].Price; worksheet.Cells[i + 3, 4] = products[i].Quantity; worksheet.Cells[i + 3, 5] = products[i].Total; } value += 1; workbook.Save(); workbook.Close(true, misValue, misValue); value += 1; Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => this.Close())); Process.Start(fileName); } catch (Exception ex) { throw ex; } finally { app.Quit(); } }