/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="eventArgs"></param> private void ExportAllToExcel(object sender, EventArgs eventArgs) { SaveFileDialog sf = new SaveFileDialog { OverwritePrompt = true, Filter = "Excel 2007-2010|*.xlsx|Excel 97-2003|*.xls", AutoUpgradeEnabled = true }; if (sf.ShowDialog(this) != DialogResult.OK) { return; } ExportPart ep = new ExportPart { SheetName = "Elräkningar", AutoFitColumnWidths = true }; ep.Headers.Add("Total förbrukning (kWh)"); ep.Headers.Add("Totalpris el"); ep.Headers.Add("Totalpris grundavgift"); ep.Headers.Add("OCR"); ep.Headers.Add("Datum föregående avläsning"); ep.Headers.Add("Förbrukning föregående avläsning"); ep.Headers.Add("Datum nuvarande avläsning"); ep.Headers.Add("Förbrukning nuvarande avläsning"); ep.Headers.Add("Del i grundavgift"); foreach (Bill b in Bills) { CellDataList cd = new CellDataList(); ep.Data.Add(cd); cd.Add(EFD(b.TotalUsedKWh)); cd.Add(EFD(b.TotalPriceElectricity)); cd.Add(EFD(b.TotalPriceGroundFee)); cd.Add(b.OCR, false); cd.Add(new DateTime(b.GuestLastReadingTicks).ToString("yyyy-MM-dd")); cd.Add(EFD(b.GuestLastReadingKWh)); cd.Add(new DateTime(b.GuestCurrentReadingTicks).ToString("yyyy-MM-dd")); cd.Add(EFD(b.GuestCurrentReadingKWh)); cd.Add(b.GuestPartInGroundFee); } if (File.Exists(sf.FileName)) { try { File.Delete(sf.FileName); } catch (Exception ex) { MessageBox.Show("Kan inte skriva över existerande fil: {0}".FillBlanks(ex.Message)); return; } } using (Stream s = File.OpenWrite(sf.FileName)) { ExcelFactory.ExportList(s, new List <ExportPart>(new[] { ep }), sf.FilterIndex == 1 ? FileFormat.OpenXMLWorkbook : FileFormat.Excel8); s.Flush(); s.Close(); } }
private void ExcelMenuOnClick(object sender, EventArgs eventArgs) { if (selectedAccount == null) { return; } SaveFileDialog sf = new SaveFileDialog { OverwritePrompt = true, Filter = "Excel 2007-2010|*.xlsx|Excel 97-2003|*.xls" }; if (sf.ShowDialog(this) != DialogResult.OK) { return; } ExportPart ep = new ExportPart { SheetName = selectedAccount.Name, AutoFitColumnWidths = true }; ep.Headers.Add("Datum"); ep.Headers.Add("Summa"); ep.Headers.Add("Kommentar"); foreach (AccountTransaction t in selectedAccount.Transactions) { CellDataList cd = new CellDataList(); ep.Data.Add(cd); cd.Add(t.Date); string a = t.Amount.ToString(); if (a.Contains(",")) { a = a.Replace(",", "."); } cd.Add(a); cd.Add(t.Comment); } FileFormat format = sf.FilterIndex == 1 ? FileFormat.OpenXMLWorkbook : FileFormat.Excel8; if (File.Exists(sf.FileName)) { File.Delete(sf.FileName); } using (Stream stream = sf.OpenFile()) { ExcelFactory.ExportList(stream, new List <ExportPart>(new[] { ep }), format); stream.Flush(); } }
/// <summary> /// This method is called when the btnSaveToExcel's Click event has been fired. /// </summary> /// <param name="sender">The <see cref="object"/> that fired the event.</param> /// <param name="e">The <see cref="EventArgs"/> of the event.</param> private void btnSaveToExcel_Click(object sender, EventArgs e) { SaveFileDialog sf = new SaveFileDialog { AutoUpgradeEnabled = true, OverwritePrompt = true, Filter = "Excel 2007-2010|*.xlsx|Excel 97-2003|*.xls" }; //sf.ShowDialog() ElectricBillExcelProperties exp = new ElectricBillExcelProperties(sf) { Sender = ContentPersistentForm.Settings.BillSender, Receiver = ContentPersistentForm.Settings.BillReceiver, BillNumber = ContentPersistentForm.Settings.BillNumber.ToInt() }; if (sf.ShowDialog(exp, this) != DialogResult.OK) { return; } if (File.Exists(sf.FileName)) { try { File.Delete(sf.FileName); } catch { MessageBox.Show("Kan inte skriva över filen... kontrollera att den inte är öppen i något annat program."); return; } } ContentPersistentForm.Settings.BillSender = exp.Sender; ContentPersistentForm.Settings.BillReceiver = exp.Receiver; ContentPersistentForm.Settings.BillNumber = exp.BillNumber.ToString(); ContentPersistentForm.Settings.Save(); ExportPart ep = new ExportPart { SheetName = "Elräkning", AutoFitColumnWidths = true }; ep.Headers.Add(exp.Sender); ep.Headers.Add("Faktura El"); ep.Data.Add(new CellDataList(new[] { "", "Fakturanummer {0}".FillBlanks(exp.BillNumber) })); ep.Data.Add(new CellDataList(new[] { "", "Fakturadag {0}".FillBlanks(DateTime.Now.ToString()) })); ep.Data.Add(new CellDataList(new[] { "", exp.Receiver })); ep.Data.Add(new CellDataList(new[] { "Betalningsvillkor", "Betalas samtidigt som månadshyran" })); ep.Data.Add(new CellDataList(new[] { "Avläst mätarställning {0}".FillBlanks(dpGuestLastReading.Value.ToString()), tbGuestLastReadingkWh.Text })); ep.Data.Add(new CellDataList(new[] { "Avläst mätarställning {0}".FillBlanks(dpGuestCurrentReading.Value.ToString()), tbGuestCurrentReadingkWh.Text })); ep.Data.Add(new CellDataList(new[] { "Periodens förbrukning (kWh)", FromDBL(tbGuestPeriodUsedkWh.Text) })); ep.Data.Add(new CellDataList(new[] { "Pris/kWh", FromDBL(tbPricePerkWh.Text) })); ep.Data.Add(new CellDataList(new[] { new CellData("Nätavgift"), new CellData(FromDBL(tbGuestPriceGroundFee.Text)) })); ep.Data.Add(new CellDataList(new[] { "Summa", FromDBL(tbGuestTotalPrice.Text) })); ep.Data.Add(new CellDataList(new[] { "Moms", FromDBL((tbGuestTotalPriceIncVAT.Value - tbGuestTotalPrice.Value).ToString()) })); ep.Data.Add(new CellDataList(new[] { new CellData("Belopp att betala") { Bold = true }, new CellData(FromDBL(tbGuestTotalPriceIncVAT.Text)) { Bold = true } })); FileFormat ff = sf.FilterIndex == 2 ? FileFormat.Excel8 : FileFormat.OpenXMLWorkbook; using (Stream stream = File.OpenWrite(sf.FileName)) { ExcelFactory.ExportList(stream, new List <ExportPart>(new[] { ep }), ff); stream.Flush(); stream.Close(); } }