Exemple #1
0
        public void TestMethod11()
        {
            using (var def = new XlsDef())
            {
                // Header
                def.AddArea().AddRow() /*.AddEmptyCell()*/;
                def.AddArea().AddRow().AddText("Еженедельные сведения по компенсационным выплатам", 9);
                def.AddArea().AddRow().AddEmptyCell();

                // Grid Header
                var h1 = def.AddArea().AddRow();
                h1.AddNode("виды компенсаций", 0, 2);
                h1.AddNode("Численность", 0, 2);
                h1.AddNode("Задолженность", 0, 2);
                var node1 = h1.AddNode("С начала года", 2);
                node1.AddNode("Потребная сумма");
                node1.AddNode("Профинансированно");

                var node2 = h1.AddNode("в текущем месяце", 2);
                node2.AddNode("Потребная сумма");
                node2.AddNode("Профинансированно");

                var node3 = h1.AddNode("Задолженность", 2);
                node3.AddNode("от потребной суммы");
                node3.AddNode("от месячной профинансированной суммы");

                var builder  = new XlsBuilder(def);
                var workbook = builder.Build();
                using (var stream = new FileStream(@"c:\distr\cissa\testXlsDef2.xls", FileMode.Create))
                {
                    workbook.Write(stream);
                }
            }
        }
 public XlsDefToWordDefConverter(XlsDef xlsDef, WordDocDef wordDef)
 {
     foreach (var area in xlsDef.Areas)
     {
         BuildArea(area, wordDef);
     }
 }
Exemple #3
0
        public void BuildFromXlsDef(XlsDef def, Stream stream)
        {
            DocX document = DocX.Create(stream);

            _methods.Add(typeof(XlsArea), BuildArea);
            _methods.Add(typeof(XlsGrid), BuildGrid);
            _methods.Add(typeof(XlsRow), BuildRow);


            _style = new ContentStyle(def.Style);
            foreach (var area in def.Areas)
            {
                BuildArea(area, document);
            }
        }
Exemple #4
0
        public void TestMethod2()
        {
            using (var connection = new SqlConnection(ChatkalConnectionString))
            {
                using (var dataContext = new DataContext(connection))
                {
                    using (var mdc = new MultiDataContext(new[] { dataContext }))
                    {
                        var factory = AppServiceProviderFactoryProvider.GetFactory();
                        using (var provider = factory.Create())
                        {
                            var defRepo = provider.Get <IDocDefRepository>(); // new DocDefRepository(dataContext);
                            var docDef  = defRepo.DocDefByName("Person-Sheet");

                            using (var def = new XlsDef())
                            {
                                // Header
                                def.Style.FontName = "Arial Narrow";
                                def.AddArea().AddRow().AddEmptyCell();
                                def.AddArea().AddRow().AddText("Список граждан");
                                def.AddArea().AddRow().AddEmptyCell();

                                // Grid Header
                                var h1 = def.AddArea().AddRow();
                                foreach (var attr in docDef.Attributes)
                                {
                                    h1.AddNode(attr.Name).ShowAllBorders(true);
                                }

                                var qb = new QueryBuilder(docDef.Id);
                                qb.Where("LastName").Contains("ИВАН");

                                var sqlQueryBuilder = provider.Get <ISqlQueryBuilder>();
                                var query           = sqlQueryBuilder.Build(qb.Def);
                                query.AddAttribute("&Id");
                                var list = new List <Guid>();
                                using (var r = new SqlQueryReader(dataContext, query))
                                    while (r.Read())
                                    {
                                        list.Add(r.GetGuid(0));
                                    }
                                using (var docDataSet = new DocDataSet(provider, dataContext, list, Guid.Empty))
                                {
                                    var gridRow = def.AddGrid(docDataSet).AddRow();
                                    foreach (var attr in docDef.Attributes)
                                    {
                                        gridRow.ShowAllBorders(true);
                                        gridRow.Style.AutoWidth  = true;
                                        gridRow.Style.AutoHeight = true;
                                        gridRow.AddDataField(new DocDataSetField(docDataSet, attr));
                                    }

                                    var builder  = new XlsBuilder(def);
                                    var workbook = builder.Build();
                                    using (
                                        var stream = new FileStream(@"c:\distr\cissa\testXlsDefPersons.xls", FileMode.Create))
                                    {
                                        workbook.Write(stream);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Exemple #5
0
        public void XlsTestMethod()
        {
            using (var connection = new SqlConnection(AsistConnectionString))
            {
                using (var dataContext = new DataContext(connection))
                {
                    using (var provider = GetProvider(dataContext))
                    {
                        using (var def = new XlsDef())
                        {
                            var qb = new QueryBuilder(PaymentDefId);
                            //qb.Where("Registry").Eq(sheet.Id);
                            var sqlQueryBuilder = provider.Get <ISqlQueryBuilder>();
                            var query           = sqlQueryBuilder.Build(qb.Def);
                            var bankAccountSrc  = query.JoinSource(query.Source, BankAccountDefId,
                                                                   SqlSourceJoinType.Inner,
                                                                   "BankAccount");
                            var assignSrc = query.JoinSource(query.Source, AssignmentDefId, SqlSourceJoinType.Inner,
                                                             "Assignment");
                            var appSrc      = query.JoinSource(assignSrc, AppDefId, SqlSourceJoinType.Inner, "Application");
                            var personSrc   = query.JoinSource(appSrc, PersonDefId, SqlSourceJoinType.Inner, "Person");
                            var appStateSrc = query.JoinSource(appSrc, AppStateDefId, SqlSourceJoinType.Inner,
                                                               "Application_State");
                            var districtSrc = query.JoinSource(appStateSrc, DistrictDefId, SqlSourceJoinType.LeftOuter,
                                                               "DistrictId");
                            query.AddAttribute(personSrc, "IIN");
                            query.AddAttribute(bankAccountSrc, "Account_No");
                            query.AddAttribute(personSrc, "Last_Name");
                            query.AddAttribute(personSrc, "First_Name");
                            query.AddAttribute(personSrc, "Middle_Name");
                            query.AddAttribute(personSrc, "PassportSeries");
                            query.AddAttribute(personSrc, "PassportNo");
                            query.AddAttribute("&Id");
                            query.AddAttribute(assignSrc, "Amount");


                            var h = def.AddArea().AddRow();
                            h.AddNode("Id");
                            h.AddNode("ПИН");
                            h.AddNode("Номер банковского счета");
                            h.AddNode("Фамилия, Имя, Отчество");
                            h.AddNode("Номер паспорта");
                            h.AddNode("Сумма пособия");

                            using (var reader = new SqlQueryReader(dataContext, query))
                            {
                                while (reader.Read())
                                {
                                    var     inn       = !reader.IsDbNull(0) ? reader.GetString(0) : "";
                                    var     accountNo = !reader.IsDbNull(1) ? reader.GetString(1) : "";
                                    var     ln        = !reader.IsDbNull(2) ? reader.GetString(2) : "";
                                    var     fn        = !reader.IsDbNull(3) ? reader.GetString(3) : "";
                                    var     mn        = !reader.IsDbNull(4) ? reader.GetString(4) : "";
                                    var     ps        = !reader.IsDbNull(5) ? reader.GetString(5) : "";
                                    var     pNo       = !reader.IsDbNull(6) ? reader.GetString(6) : "";
                                    var     id        = !reader.IsDbNull(7) ? reader.GetGuid(7) : Guid.Empty;
                                    decimal amount    = !reader.IsDbNull(8) ? reader.GetDecimal(8) : 0;

                                    var r = def.AddArea().AddRow();
                                    r.AddColumn().AddText(id.ToString());
                                    r.AddColumn().AddText(inn);
                                    r.AddColumn().AddText(accountNo);
                                    r.AddColumn().AddText(string.Format("{0} {1} {2}", ln, fn, mn));
                                    r.AddColumn().AddText(string.Format("{0} {1}", ps, pNo));
                                    r.AddColumn().AddFloat((double)amount);
                                }
                            }

                            var builder  = new XlsBuilder(def);
                            var workbook = builder.Build();
                            using (
                                var stream = new FileStream(
                                    "c:\\distr\\cissa\\UnloadingBankPaymentRegistry.xls", FileMode.Create))
                            {
                                workbook.Write(stream);
                            }
                        }
                    }
                }
            }
        }
Exemple #6
0
        public FileResult GetFile(int reportId)
        {
            var report = db.Reports.Find(reportId);
            var HumDistributionPlan = db.HumDistributionPlans.Find(report.HumDistributionPlanId ?? 0);

            string filepath = "C://CissaFiles//Report.xls";//Server.MapPath("~/Doc/ExcelPlan.xls");

            using (var def = new XlsDef())
            {
                def.AddArea().AddRow().AddEmptyCell();
                var s5 = def.AddArea().AddRow();
                s5.AddText("Отчет получателя \"" + HumDistributionPlan.Company.Name + "\" о предоставлении гуманитарной помощи", 10);
                s5.Style.HAlign = HAlignment.Center; //По центру
                s5.Style.Bold();
                def.AddArea().AddEmptyRow();
                var h = def.AddArea().AddRow();
                h.AddText("№");
                h.AddText("Потребитель / Организация");
                h.AddText("Регион");
                h.AddText("Адрес");
                h.AddText("Наименование гум. помощи (товара)");
                h.AddText("Ед. изм.");
                h.AddText("Кол-во (план)");
                //h.AddText("Вес (кг) (план)");
                h.AddText("Сумма (сом)(план)*");
                h.AddText("Кол-во (факт)");
                //h.AddText("Вес (кг) (факт)");
                h.AddText("Сумма (факт)*");
                h.AddText("Кол-во (остаток)");
                //h.AddText("Вес (кг) (остаток)");
                h.AddText("Сумма (остаток)*");
                h.ShowAllBorders(true);
                h.Style.FontStyle  = FontStyle.Bold;                //Шрифт жирный
                h.Style.HAlign     = HAlignment.Center;             //По центру
                h.Style.BgColor    = IndexedColors.BLUE_GREY.Index; //48; Цвет шапки
                h.Style.FontColor  = IndexedColors.WHITE.Index;     //Цвет шрифта
                h.Style.WrapText   = true;
                h.Style.AutoWidth  = true;
                h.Style.AutoHeight = true;
                int     i             = 1;
                double  planAmount    = 0;
                decimal planSum       = 0;
                double  factAmount    = 0;
                decimal factSum       = 0;
                double  balanceAmount = 0;
                decimal balanceSum    = 0;
                foreach (var item in db.ReportItems.Where(x => x.ReportId == reportId).Include(x => x.HumDistributionPlanItem).ToList())
                {
                    var r = def.AddArea().AddRow();
                    r.AddColumn().AddInt(i);
                    r.AddColumn().AddText(item.HumDistributionPlanItem.Consumer.Name);
                    r.AddColumn().AddText(item.HumDistributionPlanItem.Area.Name);
                    r.AddColumn().AddText(item.HumDistributionPlanItem.Address);
                    r.AddColumn().AddText(item.HumDistributionPlanItem.Product.Name);
                    r.AddColumn().AddText(item.HumDistributionPlanItem.UnitType.Name);
                    r.AddColumn().AddFloat(item.HumDistributionPlanItem.Amount ?? 0);
                    //r.AddColumn().AddText("");
                    r.AddColumn().AddFloat((double)(item.HumDistributionPlanItem.Sum ?? 0));
                    r.AddColumn().AddFloat(item.FactAmount ?? 0);
                    //r.AddColumn().AddText("");
                    r.AddColumn().AddFloat((double)(item.FactSum ?? 0));
                    r.AddColumn().AddFloat(item.BalanceAmount ?? 0);
                    //r.AddColumn().AddText("");
                    r.AddColumn().AddFloat((double)(item.BalanceSum ?? 0));
                    r.ShowAllBorders(true);
                    i++;

                    planAmount    += item.HumDistributionPlanItem.Amount ?? 0;
                    planSum       += item.HumDistributionPlanItem.Sum ?? 0;
                    factAmount    += item.FactAmount ?? 0;
                    factSum       += item.FactSum ?? 0;
                    balanceAmount += item.BalanceAmount ?? 0;
                    balanceSum    += item.BalanceSum ?? 0;
                }
                var f = def.AddArea().AddRow();
                f.AddText("Итого:", 6);
                f.AddFloat(planAmount);
                f.AddFloat((double)planSum);
                f.AddFloat(factAmount);
                f.AddFloat((double)factSum);
                f.AddFloat(balanceAmount);
                f.AddFloat((double)balanceSum);
                f.ShowAllBorders(true);
                f.Style.HAlign = HAlignment.Right;
                f.Style.Bold();

                def.AddArea().AddRow().AddEmptyCell();
                var s1 = def.AddArea().AddRow();
                s1.AddText("ФИО руководителя организации", 3);
                var s3 = def.AddArea().AddRow();
                s3.AddText("______________________", 3);
                s3.AddText("подпись");
                def.AddArea().AddEmptyRow();
                var s4 = def.AddArea().AddRow();
                s4.AddText("Дата: ", 3);
                s4.AddText("«    » _____________ 20___");
                def.AddArea().AddEmptyRow();
                var s4_1 = def.AddArea().AddRow();
                s4_1.AddText("М.П.", 3);
                def.AddArea().AddEmptyRow();
                var s4_2 = def.AddArea().AddRow();
                s4_2.AddText("* сумма указана донором только для таможенных целей", 3);
                var builder  = new XlsBuilder(def);
                var workbook = builder.Build();


                using (var stream = new FileStream(filepath, FileMode.Create))
                {
                    workbook.Write(stream);
                }
                return(File(filepath, "application/vnd.ms-excel", "Report.xls"));
            }
        }
        public FileResult GetFile(int planId)
        {
            var    plan     = db.HumDistributionPlans.Find(planId);
            string filepath = "C://CissaFiles//Plan.xls";//Server.MapPath("~/Doc/ExcelPlan.xls");

            using (var def = new XlsDef())
            {
                def.AddArea().AddRow().AddEmptyCell();
                var s = def.AddArea().AddRow();
                s.AddText("", 7);
                s.AddText("Утверждаю", 3);
                var s1 = def.AddArea().AddRow();
                s1.AddText("", 7);
                s1.AddText("Руководитель организации/Получатель", 3);
                var s3 = def.AddArea().AddRow();
                s3.AddText("", 7);
                s3.AddText("______________________", 3);
                var s4 = def.AddArea().AddRow();
                s4.AddText("", 7);
                s4.AddText("«    » _____________ 20___", 3);
                def.AddArea().AddRow().AddEmptyCell();
                var s5 = def.AddArea().AddRow();
                s5.AddText("План распределения гуманитарной помощи получателя \"" + plan.Company.Name + "\"", 10);
                s5.Style.HAlign = HAlignment.Center; //По центру
                s5.Style.Bold();
                var s6 = def.AddArea().AddRow();
                s6.Style.HAlign = HAlignment.Center; //По центру
                s6.AddText("Дата: " + plan.Date.Value.ToShortDateString(), 10);

                var h = def.AddArea().AddRow();
                h.AddText("№");
                h.AddText("Потребитель / Организация");
                h.AddText("Регион");
                h.AddText("Адрес");
                h.AddText("Наименование гум. помощи (товара)");
                h.AddText("Ед. изм.");
                h.AddText("Кол-во");
                h.AddText("Вес (кг)");
                h.AddText("Сумма (у.е.)");
                h.AddText("Примечание");
                h.ShowAllBorders(true);
                h.Style.FontStyle  = FontStyle.Bold;                //Шрифт жирный
                h.Style.HAlign     = HAlignment.Center;             //По центру
                h.Style.BgColor    = IndexedColors.BLUE_GREY.Index; //48; Цвет шапки
                h.Style.FontColor  = IndexedColors.WHITE.Index;     //Цвет шрифта
                h.Style.WrapText   = true;
                h.Style.AutoWidth  = true;
                h.Style.AutoHeight = true;
                int i = 1;
                foreach (var item in plan.Items)
                {
                    var r = def.AddArea().AddRow();
                    r.AddColumn().AddInt(i);
                    r.AddColumn().AddText(item.Consumer.Name);
                    r.AddColumn().AddText(item.Area.Name);
                    r.AddColumn().AddText(item.Address);
                    r.AddColumn().AddText(item.Product.Name);
                    r.AddColumn().AddText(item.UnitType.Name);
                    r.AddColumn().AddFloat(item.Amount ?? 0);
                    r.AddColumn().AddText("");
                    r.AddColumn().AddFloat((double)(item.Sum ?? 0));
                    r.AddColumn().AddText("");
                    r.ShowAllBorders(true);
                    i++;
                }
                var builder  = new XlsBuilder(def);
                var workbook = builder.Build();


                using (var stream = new FileStream(filepath, FileMode.Create))
                {
                    workbook.Write(stream);
                }
                return(File(filepath, "application/vnd.ms-excel", "Plan.xls"));
            }
        }