Ejemplo n.º 1
0
        }//saveInExcelAsync

        /// <summary>
        /// Метод вывода приходной информации в Excel-файл.
        /// </summary>
        /// <param name="availabilityList">Список оприходованных товаров.</param>
        /// <param name="agent">Фирма-покупатель.</param>
        private void saveInExcel(IList <OperationDetails> operDetList, string agent)
        {
            Purchase         purchase       = operDetList[0].Operation as Purchase;
            List <SparePart> sparePartsList = operDetList.Select(od => od.SparePart).ToList();

            Excel.Application ExcelApp       = new Excel.Application();
            Excel.Workbook    ExcelWorkBook  = ExcelApp.Workbooks.Add(System.Reflection.Missing.Value);                        //Книга.
            Excel.Worksheet   ExcelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets.get_Item(1); //Таблица.

            //Настраиваем горизонтальные и вертикальные границы области печати.
            ExcelWorkSheet.PageSetup.TopMargin  = ExcelWorkSheet.PageSetup.BottomMargin = 7;
            ExcelWorkSheet.PageSetup.LeftMargin = ExcelWorkSheet.PageSetup.RightMargin = 7;

            int row = 1, column = 1;

            //Выводим Id и Дату.
            OperationIdAndDateExcelOutput(ExcelWorkSheet, purchase, row, column);

            //Выводим поставщика и покупателя.
            row += 2;
            ExcelApp.Cells[row, column].Font.Name = "Consolas";
            ExcelApp.Cells[row, column]           = String.Format("\t\t{0,-50}{1}",
                                                                  "Поставщик : " + purchase.Contragent.ContragentName,
                                                                  "Покупатель : " + agent);

            //Заполняем таблицу.
            FillTheExcelList(ExcelWorkSheet, operDetList, ref row, column);

            //Выводим имена агентов.
            row += 2;
            ExcelApp.Cells[row, column].Font.Name = "Consolas"; //моноширинный шрифт
            ExcelApp.Cells[row, column]           = String.Format("\t\t{0,-50}{1}",
                                                                  "Выписал : " + purchase.ContragentEmployee,
                                                                  "Принял : " + Form1.CurEmployee.LastName + " " + Form1.CurEmployee.FirstName);
            //Делаем визуальное отделение информации от заметки, с помощью линии.
            row += 2;

            //Выводим заметку к операции.
            DescriptionExcelOutput(ExcelWorkSheet, purchase.Description, ref row, column);

            //Вызываем нашу созданную эксельку.
            ExcelApp.Visible = ExcelApp.UserControl = true;
            ExcelWorkBook.PrintPreview(); //открываем окно предварительного просмотра.
        }//saveInExcel
Ejemplo n.º 2
0
        }//saveInExcelAsync

        /// <summary>
        /// Метод вывода расходной информации в Excel-файл.
        /// </summary>
        /// <param name="purchase">Информация о расходе.</param>
        /// <param name="agent">Фирма-продавец.</param>
        private void saveInExcel(Sale sale, string agent)
        {
            IList <OperationDetails> operDetList = sale.OperationDetailsList;

            Excel.Application ExcelApp       = new Excel.Application();
            Excel.Workbook    ExcelWorkBook  = ExcelApp.Workbooks.Add(System.Reflection.Missing.Value); //Книга.
            Excel.Worksheet   ExcelWorkSheet = (Excel.Worksheet)ExcelWorkBook.Worksheets.get_Item(1);   //Таблица.

            //Настраиваем горизонтальные и вертикальные границы области печати.
            ExcelWorkSheet.PageSetup.TopMargin  = ExcelWorkSheet.PageSetup.BottomMargin = 7;
            ExcelWorkSheet.PageSetup.LeftMargin = ExcelWorkSheet.PageSetup.RightMargin = 7;

            int row = 1, column = 1;

            //Выводим Id и Дату.
            OperationIdAndDateExcelOutput(ExcelWorkSheet, sale, row, column);

            //Выводим поставщика и покупателя.
            row += 2;
            ExcelApp.Cells[row, column].Font.Name = "Consolas";
            ExcelApp.Cells[row, column]           = String.Format("\t\t{0,-40}{1}",
                                                                  "Продавец : " + agent,
                                                                  "Покупатель : " + sale.Contragent.ContragentName);

            //Заполняем таблицу.
            FillTheExcelList(ExcelWorkSheet, operDetList, ref row, column);

            //Выводим имена агентов.
            row += 2;
            ExcelApp.Cells[row, column].Font.Name = "Consolas";
            ExcelApp.Cells[row, column]           = String.Format("\t\t{0,-40}{1}",
                                                                  "Выписал : " + Form1.CurEmployee.LastName + " " + Form1.CurEmployee.FirstName,
                                                                  "Принял : " + sale.ContragentEmployee);


            row += 2;
            //Выводим заметку к операции.
            DescriptionExcelOutput(ExcelWorkSheet, sale.Description, ref row, column);

            //Вызываем нашу созданную эксельку.
            ExcelApp.Visible = ExcelApp.UserControl = true;
            ExcelWorkBook.PrintPreview(); //открываем окно предварительного просмотра.
        }//saveInExcel
Ejemplo n.º 3
0
        private void ExcelPreview()
        {
            Excel.Application exObj  = null;   // Excelオブジェクト
            Excel.Workbook    exBook = null;   // workbook

            try
            {
                exObj = new Excel.Application();
                //exObj.Visible = true;   // Excelウィンドウを表示する

                // Excelファイルオープン
                exBook = (Excel.Workbook)(exObj.Workbooks.Open(
                                              Environment.CurrentDirectory + @"\" + EXCEL_FILE_NAME // Excelファイル名
                                              ));

                // 印刷プレビュー表示
                exObj.Visible = true;   // Excelウィンドウを表示する
                exBook.PrintPreview(true);

                exObj.Visible = false;   // Excelウィンドウを表示する
                exObj.Quit();
            } catch (Exception ex)
            {
                MessageBox.Show(GetExcetionMessage(ex),
                                "エラー",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
            } finally
            {
                if (exBook != null)
                {
                    Marshal.ReleaseComObject(exBook);
                }
                if (exObj != null)
                {
                    Marshal.ReleaseComObject(exObj);
                }
            }
        }