Beispiel #1
0
        private void WorkerOnDoWork(object sender, DoWorkEventArgs doWorkEventArgs)
        {
            var models = DalManager.GetExportModels(_model);

            doWorkEventArgs.Result = models;
        }
Beispiel #2
0
        public static string DoExport(ContractFilterModel model, int startRow, int sizeRow)
        {
            try
            {
                var manager        = new DalManager();
                var contractModels = manager.GetExportModels(model);
                var file           = new MemoryStream(Resources.template0);
                var wb             = new XLWorkbook(file);
                var ws             = wb.Worksheets.Worksheet(1);
                var filePath       = Path.Combine(Path.GetTempPath(), Path.ChangeExtension(Path.GetRandomFileName(), "xlsx"));
                var topRowIndex    = 4;

                for (var i = startRow; (i < startRow + sizeRow) && (i < contractModels.Count); i++)
                {
                    ws.Cell(topRowIndex + i, 1).Value = i + 1;
                    ws.Cell(topRowIndex + i, 2).Value = contractModels[i].V2;
                    ws.Cell(topRowIndex + i, 3).Value = contractModels[i].V3;
                    ws.Cell(topRowIndex + i, 4).Value = contractModels[i].V4;
                    ws.Cell(topRowIndex + i, 5).SetValue(contractModels[i].V5);
                    ws.Cell(topRowIndex + i, 6).Value = contractModels[i].V6;
                    ws.Cell(topRowIndex + i, 7).Value = contractModels[i].V7;
                    ws.Cell(topRowIndex + i, 8).Value = contractModels[i].V8;
                    ws.Cell(topRowIndex + i, 9).Value = contractModels[i].V9;
                    ws.Cell(topRowIndex + i, 10).SetValue(contractModels[i].V10);

                    ws.Cell(topRowIndex + i, 11).Value = contractModels[i].V11;
                    ws.Cell(topRowIndex + i, 11).Style.DateFormat.Format = "dd/MM/yyyy";

                    ws.Cell(topRowIndex + i, 12).Value = contractModels[i].V12;
                    ws.Cell(topRowIndex + i, 12).Style.NumberFormat.Format = "#,##0.00";

                    ws.Cell(topRowIndex + i, 13).Value = contractModels[i].V13;
                    ws.Cell(topRowIndex + i, 13).Style.NumberFormat.Format = "#,##0.00";

                    ws.Cell(topRowIndex + i, 14).Value = contractModels[i].V14;
                    ws.Cell(topRowIndex + i, 14).Style.NumberFormat.Format = "#,##0.00";

                    ws.Cell(topRowIndex + i, 15).Value = contractModels[i].V15;
                    ws.Cell(topRowIndex + i, 15).Style.NumberFormat.Format = "#,##0.00";

                    ws.Cell(topRowIndex + i, 16).Value = contractModels[i].V16;
                    ws.Cell(topRowIndex + i, 16).Style.NumberFormat.Format = "#,##0.00";

                    ws.Cell(topRowIndex + i, 17).Value = contractModels[i].V17;
                    ws.Cell(topRowIndex + i, 17).Style.NumberFormat.Format = "#,##0.00";

                    ws.Cell(topRowIndex + i, 18).Value = contractModels[i].V18;
                    ws.Cell(topRowIndex + i, 18).Style.NumberFormat.Format = "#,##0.00";

                    ws.Cell(topRowIndex + i, 19).Value = contractModels[i].V19;
                    ws.Cell(topRowIndex + i, 19).Style.NumberFormat.Format = "#,##0.00";

                    ws.Cell(topRowIndex + i, 20).Value = contractModels[i].V20;
                    ws.Cell(topRowIndex + i, 20).Style.NumberFormat.Format = "#,##0.00";

                    ws.Cell(topRowIndex + i, 21).Value = contractModels[i].V21;
                    ws.Cell(topRowIndex + i, 21).Style.NumberFormat.Format = "#,##0.00";

                    ws.Cell(topRowIndex + i, 22).Value = contractModels[i].V22;
                    ws.Cell(topRowIndex + i, 22).Style.NumberFormat.Format = "#,##0.00";

                    ws.Cell(topRowIndex + i, 23).Value = contractModels[i].V23;
                    ws.Cell(topRowIndex + i, 23).Style.NumberFormat.Format = "#,##0.00";

                    ws.Cell(topRowIndex + i, 24).Value = contractModels[i].V24;
                    ws.Cell(topRowIndex + i, 24).Style.NumberFormat.Format = "#,##0.00";

                    ws.Cell(topRowIndex + i, 25).Value = contractModels[i].V25;
                    ws.Cell(topRowIndex + i, 25).Style.DateFormat.Format = "dd/MM/yyyy";

                    ws.Cell(topRowIndex + i, 26).Value = contractModels[i].V26;
                    ws.Cell(topRowIndex + i, 26).Style.NumberFormat.Format = "#,##0.00";

                    ws.Cell(topRowIndex + i, 27).Value = contractModels[i].V27;
                    ws.Cell(topRowIndex + i, 27).Style.DateFormat.Format = "dd/MM/yyyy";

                    ws.Cell(topRowIndex + i, 28).Value = contractModels[i].V28;
                    ws.Cell(topRowIndex + i, 28).Style.DateFormat.Format = "dd/MM/yyyy";

                    ws.Cell(topRowIndex + i, 29).Value = contractModels[i].V29;
                    ws.Cell(topRowIndex + i, 29).Style.DateFormat.Format = "dd/MM/yyyy";

                    ws.Cell(topRowIndex + i, 30).Value = contractModels[i].V30;
                    ws.Cell(topRowIndex + i, 30).Style.DateFormat.Format = "dd/MM/yyyy";

                    ws.Cell(topRowIndex + i, 31).Value = contractModels[i].V31;
                    ws.Cell(topRowIndex + i, 31).Style.DateFormat.Format = "dd/MM/yyyy";

                    ws.Cell(topRowIndex + i, 32).Value = contractModels[i].V32;
                    ws.Cell(topRowIndex + i, 32).Style.DateFormat.Format = "dd/MM/yyyy";

                    ws.Cell(topRowIndex + i, 33).Value = contractModels[i].V33;
                    ws.Cell(topRowIndex + i, 33).Style.DateFormat.Format = "dd/MM/yyyy";

                    ws.Cell(topRowIndex + i, 34).SetValue(contractModels[i].V34);

                    ws.Cell(topRowIndex + i, 35).SetValue(contractModels[i].V35);

                    ws.Cell(topRowIndex + i, 36).SetValue(contractModels[i].V36);

                    ws.Cell(topRowIndex + i, 37).Value = contractModels[i].V37;
                    ws.Cell(topRowIndex + i, 37).Style.DateFormat.Format = "dd/MM/yyyy";

                    ws.Cell(topRowIndex + i, 38).Value = contractModels[i].V38;

                    ws.Cell(topRowIndex + i, 39).Value = contractModels[i].V39;
                    ws.Cell(topRowIndex + i, 39).Style.DateFormat.Format = "dd/MM/yyyy";

                    ws.Cell(topRowIndex + i, 40).Value = contractModels[i].V40;
                    ws.Cell(topRowIndex + i, 40).Style.NumberFormat.Format = "#,##0.00";
                }

                FitToColumns(ws, contractModels.Count);

                //save
                wb.SaveAs(filePath);

                return(filePath);
            }
            catch (Exception e)
            {
                throw e;
            }
        }