コード例 #1
0
        public static List <Dados.Site> GetDados(string path)
        {
            string extension = path.Remove(0, path.LastIndexOf('.'));

            string[] rows = new string[0];
            switch (extension)
            {
            case ".csv":
                rows = CSV.CSVReader(path);
                break;

            case ".XLSX":
                return(XLSX.ExcelReader(path));
            }
            List <Dados.Site> produtos = new List <Dados.Site>();

            for (int i = 1; i < rows.Length; i++)
            {
                string[]   collumns = rows[i].Split(',');
                Dados.Site produto  = new Dados.Site();
                produto.ID   = int.Parse(collumns[0]);
                produto.Ref  = collumns[1];
                produto.Name = collumns[2];
                int stock = 0;
                int.TryParse(collumns[3], out stock);
                produto.Stock = stock;
                produto.Price = collumns[4];
                produtos.Add(produto);
            }

            return(produtos);
        }
コード例 #2
0
            public static List <Dados.Site> ExcelReader(string path)
            {
                DataSet data = new DataSet();

                using (var stream = File.Open(path, FileMode.Open, FileAccess.Read))
                {
                    // Auto-detect format, supports:
                    //  - Binary Excel files (2.0-2003 format; *.xls)
                    //  - OpenXml Excel files (2007 format; *.xlsx)
                    using (var reader = ExcelReaderFactory.CreateReader(stream))
                    {
                        // Choose one of either 1 or 2:

                        // 1. Use the reader methods
                        do
                        {
                            while (reader.Read())
                            {
                                // reader.GetDouble(0);
                            }
                        } while (reader.NextResult());

                        // 2. Use the AsDataSet extension method
                        var result = reader.AsDataSet();

                        data = result;
                    }
                }

                List <Dados.Site> dados = new List <Dados.Site>();
                DataTable         table = data.Tables[0];

                for (int i = 1; i < table.Rows.Count; i++)
                {
                    Dados.Site site = new Dados.Site();
                    site.Name  = table.Rows[i][1].ToString();
                    site.Ref   = table.Rows[i][0].ToString();
                    site.Price = table.Rows[i][4].ToString();
                    float stock      = 0;
                    bool  canConvert = float.TryParse(table.Rows[i][10].ToString(), out stock);
                    if (!canConvert)
                    {
                        Debug.Error("[FILE_MANAGER][XLSX] - Fall to convert:" + table.Rows[i][10].ToString());
                    }
                    site.Stock = stock;
                    dados.Add(site);
                }

                return(dados);
            }