Пример #1
0
        /// <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();
            }
        }
Пример #2
0
        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();
            }
        }
Пример #3
0
        /// <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();
            }
        }