예제 #1
0
        public static List <CsvInfos> OpenDirectory()
        {
            try
            {
                List <CsvInfos> lstInfos = new List <CsvInfos>();

                List <string> files = new List <string>();
                string        path  = ConfigurationManager.AppSettings["CsvDirectory"];

                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                    return(lstInfos);
                }

                files = Directory.GetFiles(path).ToList();

                foreach (var item in files)
                {
                    CsvInfos info = new CsvInfos();
                    info.Diretorio   = item;
                    info.NomeArquivo = item.Substring(17, 7);
                    lstInfos.Add(info);
                }

                return(lstInfos);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
        /// <summary>
        /// Método responsável por ler as linhas do CSV e criar a lista com as linhas lidas
        /// </summary>
        /// <returns></returns>
        public static List <CsvEntity> ReadCSV(CsvInfos path)
        {
            try
            {
                Console.WriteLine("I will start reading your invoice.");

                List <CsvEntity> lstCsv = new List <CsvEntity>();

                using (var reader = new StreamReader(path.Diretorio))
                {
                    while (!reader.EndOfStream)
                    {
                        CsvEntity csv = new CsvEntity();

                        var lines = reader.ReadLine();

                        var values = lines.Split(',');

                        csv.Data      = values[0];
                        csv.Categoria = values[1];
                        csv.Titulo    = values[2];
                        csv.Valor     = values[3];

                        lstCsv.Add(csv);
                    }
                }
                return(lstCsv);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #3
0
        /// <summary>
        /// Método responsável por popular o arquivo Excel com lista de linhas do arquivo CSV
        /// </summary>
        /// <param name="csv"></param>
        public static bool WriteCsv(List <CsvEntity> csv, CsvInfos info)
        {
            try
            {
                Console.WriteLine("Just a moment I'll generate a new invoice ...");
                var dataTable = GetTable(csv);

                XLWorkbook wb = new XLWorkbook();

                var ws = wb.Worksheets.Add($@"Fatura {DateTime.Now.Month}");

                ws.Cell(1, 1).InsertData(dataTable.AsEnumerable());

                wb.SaveAs($@"C:\Fatura\Nova_Fatura\fatura_nubank_{info.NomeArquivo}.xlsx");

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }