Example #1
0
        public static void criarModelo(string caminho, CSV csv)
        {
            ExcelEngine  excelEngine = new ExcelEngine();
            IApplication application = excelEngine.Excel;

            application.DefaultVersion           = ExcelVersion.Excel2013;
            application.EnableIncrementalFormula = true;

            IWorkbook  workbook = application.Workbooks.Open(caminho, ExcelOpenType.Automatic);
            IWorksheet planilha = workbook.Worksheets[0];

            planilha.EnableSheetCalculations();
            planilha.Name = ExcelLayoutService.verificarMes(csv.mes);
            workbook.SaveAs(caminho);

            gerarModeloBase(workbook, caminho);

            Dictionary <string, int> linhas = new Dictionary <string, int>();

            linhas.Add("ultimaLinha", planilha.Rows.Count());
            linhas.Add("primeiraLinha", linhas["ultimaLinha"] + 4);
            linhas.Add("linhaPis", linhas["primeiraLinha"] + 1);
            linhas.Add("linhaCofins", linhas["primeiraLinha"] + 2);
            linhas.Add("linhaCsll", linhas["primeiraLinha"] + 3);
            linhas.Add("linhaIrpj", linhas["primeiraLinha"] + 4);

            gerarHeader(workbook, csv, caminho);

            ExcelLayoutService.formatarValores(workbook, caminho, linhas);

            gerarColunaCliente(workbook, caminho, linhas, csv);

            gerarLiquido(workbook, caminho, linhas);

            gerarTotal(workbook, caminho, linhas);

            if (csv.temExterior)
            {
                gerarNacional(workbook, caminho, linhas, csv);
            }

            gerarColunaTributo(workbook, caminho, linhas);

            gerarColunaVrImposto(workbook, caminho, linhas, csv);

            gerarColunaCompensar(workbook, caminho, linhas);

            gerarColunaImposto(workbook, caminho, linhas);

            //gerarColunaVencimento(workbook, caminho, linhas);

            ExcelLayoutService.ajustarDatas(workbook, caminho, linhas);

            ExcelLayoutService.aplicarEstilos(workbook, caminho, linhas);

            ExcelLayoutService.autofitColunas(workbook, caminho, linhas);

            ExcelLayoutService.alinharDados(workbook, caminho);

            ExcelLayoutService.aplicarBorda(workbook, caminho, linhas);

            planilha      = workbook.Worksheets[0];
            planilha.Zoom = 90;

            workbook.SaveAs(caminho);
            workbook.Close();
            excelEngine.Dispose();
        }