Ejemplo n.º 1
0
        public Invoce.Entity.Invoce createInvoce(InvoceReques reques)
        {
            var filePath = Path.GetTempFileName();                         //Получаем времений путь до файла

            Invoce.Entity.Invoce invoice = null;                           //создаем екземпляр инвойса

            using (var stream = new FileStream(filePath, FileMode.Create)) //открываем файл в потоке
            {
                ISheet sheet;                                              ///Экземпляр таблицы
                string sFileExtension = Path.GetExtension(reques.File.FileName).ToLower();

                reques.File.CopyTo(stream);
                stream.Position = 0;
                if (sFileExtension == ".xls")
                {
                    HSSFWorkbook hssfwb = new HSSFWorkbook(stream); //This will read the Excel 97-2000 formats
                    sheet = hssfwb.GetSheet("January 20");          //get first sheet from workbook
                }
                else
                {
                    XSSFWorkbook hssfwb = new XSSFWorkbook(stream); //This will read 2007 Excel format
                    this._getAllSheets.getSheets(hssfwb);
                    sheet = hssfwb.GetSheet(reques.SheetTabName);   //get first sheet from workbook
                }

                int column = this._findColumn.Find(sheet.GetRow(0), "Hours");///находим нужную колонку

                invoice = new Invoce.Entity.Invoce(
                    reques.Money,                            //передаєм в конструктор инфойса деньги
                    this._hourseParser.Parse(sheet, column), //передаем в конструктор часы, спаршенные сервисом
                    reques.Street,
                    reques.BuildNumber,
                    reques.City,
                    reques.Country,
                    reques.IndexCity,
                    reques.TelephoneNumber,
                    reques.EMail,
                    reques.Name,
                    reques.LastName,
                    reques.Description,
                    reques.ConvertDate(reques.Date)
                    );
            }

            if (invoice == null)
            {
                throw new Exception("Inove is not build!");
            }

            return(invoice);
        }
Ejemplo n.º 2
0
        public void generateWork(Invoce.Entity.Invoce invoce)
        {
            XWPFDocument doc   = new XWPFDocument();
            XWPFTable    table = doc.CreateTable(11, 1);

            table.SetLeftBorder(XWPFBorderType.SINGLE, 3, 3, "#FFFFFF");
            table.SetRightBorder(XWPFBorderType.SINGLE, 3, 3, "#FFFFFF");
            table.SetTopBorder(XWPFBorderType.SINGLE, 3, 3, "#FFFFFF");


            XWPFTableCell cellFIO          = table.GetRow(0).GetCell(0);
            XWPFTableCell cellStreetBuild  = table.GetRow(1).GetCell(0);
            XWPFTableCell cellCityAndIndex = table.GetRow(2).GetCell(0);
            XWPFTableCell cellCountry      = table.GetRow(3).GetCell(0);
            XWPFTableCell cellEmail        = table.GetRow(4).GetCell(0);
            XWPFTableCell cellNumber       = table.GetRow(5).GetCell(0);
            XWPFTableCell cellDescription  = table.GetRow(6).GetCell(0);
            XWPFTableCell cellRaid         = table.GetRow(7).GetCell(0);
            XWPFTableCell cellSignature    = table.GetRow(8).GetCell(0);
            XWPFTableCell cellHelper       = table.GetRow(9).GetCell(0);
            XWPFTableCell cellFIOEnd       = table.GetRow(10).GetCell(0);



            cellFIO.SetText(invoce.GetFIO());
            cellStreetBuild.SetText(invoce.GetStreetBuild());
            cellCityAndIndex.SetText(invoce.GetCityAndIndex());
            cellCountry.SetText(invoce.GetCountry());
            cellEmail.SetText(invoce.GetEmail());
            cellNumber.SetText("+" + invoce.GetTelephoneNumber());
            cellDescription.SetText(invoce.GetDescription());
            cellRaid.SetText(invoce.GetRaid());
            cellSignature.SetText(invoce.GetSignature());
            cellHelper.SetText("Signature                          Data");
            cellFIOEnd.SetText(invoce.GetFIO());

            cellFIO.SetBorderBottom(XWPFBorderType.SINGLE, 3, 3, "#FFFFFF");///Убирает нижний бордер
            cellStreetBuild.SetBorderBottom(XWPFBorderType.SINGLE, 3, 3, "#FFFFFF");
            cellCityAndIndex.SetBorderBottom(XWPFBorderType.SINGLE, 3, 3, "#FFFFFF");
            cellCountry.SetBorderBottom(XWPFBorderType.SINGLE, 3, 3, "#FFFFFF");
            cellEmail.SetBorderBottom(XWPFBorderType.SINGLE, 3, 3, "#FFFFFF");
            cellNumber.SetBorderBottom(XWPFBorderType.SINGLE, 3, 3, "#FFFFFF");
            cellRaid.SetBorderBottom(XWPFBorderType.SINGLE, 3, 3, "#FFFFFF");
            cellSignature.SetBorderBottom(XWPFBorderType.SINGLE, 3, 3, "#FFFFFF");
            cellFIOEnd.SetBorderBottom(XWPFBorderType.SINGLE, 3, 3, "#FFFFFF");
            cellDescription.SetBorderBottom(XWPFBorderType.SINGLE, 3, 3, "#FFFFFF");
            cellHelper.SetBorderBottom(XWPFBorderType.SINGLE, 3, 3, "#FFFFFF");
            XWPFParagraph p1 = cellRaid.AddParagraph();
            //XSSFCellStyle raidStyle = (HSSFCellStyle)table.CreateCellStyle();//don't use doc.CreateParagraph
            //XWPFRun r1 = p1.CreateRun();
            //cellRaid.



            //r1.SetText("This is test table contents");

            //r1.FontFamily = "Courier";
            //r1.SetUnderline(UnderlinePatterns.DotDotDash);
            //r1.SetTextPosition(100);
            //r1.set
            //r1.SetColor("FF0000");

            //table.GetRow(2).GetCell(2).SetText("only text");

            FileStream out1 = new FileStream(
                this._wordFile.GetWritePath(),
                FileMode.Create
                );

            doc.Write(out1);
            out1.Close();
        }