Esempio n. 1
0
        public void Test_Csv_To_Fixed()
        {
            using (var reader = new CsvAdapter())
            {
                reader.FileName  = Path.Combine(this.testDataPath, @"cd-Daten.txt");
                reader.Enclosure = "\"";
                reader.Separator = ";";

                using (var writer = new FixedTextAdapter())
                {
                    writer.FileName = Path.Combine(this.resultPath, "cd-Daten-Fixed.txt");

                    int lineCount = 0;

                    reader.ReadData(30)
                    .ForEach(x =>
                    {
                        Console.WriteLine("Tablename=" + x.TableName + ", Count=" + x.Rows.Count);
                        lineCount += x.Rows.Count;
                    })
                    .Do(x => writer.WriteData(x));
                }
            }

            // check
            var targetlineCount = File.ReadLines(this.resultPath + @"cd-Daten-Fixed.txt").Count();

            Assert.AreEqual(97, targetlineCount);
        }
Esempio n. 2
0
        private static int RunExportCsv(CommandArgs.ExportCsvCommand cmd)
        {
            var doc = new XliffParser.XlfDocument(cmd.Xlf);
            var csv = new CsvAdapter()
            {
                CustomIdColumn       = cmd.CustomIdColumn,
                IsCsvHeaderRequired  = !cmd.NoHeader,
                IsLangColumnRequired = cmd.WithLanguage
            };

            XlfDialect dialect = XlfDialect.Standard;

            if (cmd?.Dialect == "RCWinTrans11")
            {
                dialect = XlfDialect.RCWinTrans11;
            }
            else if (cmd?.Dialect == "MultilingualAppToolkit")
            {
                dialect = XlfDialect.MultilingualAppToolkit;
            }

            var stateFilter   = string.IsNullOrWhiteSpace(cmd.Filter) ? null : cmd.Filter.Split(';').ToList();
            var resTypeFilter = string.IsNullOrWhiteSpace(cmd.ResTypeFilter) ? null : cmd.ResTypeFilter.Split(';').ToList();

            doc.Files.First().Export(cmd.Out, csv, stateFilter, resTypeFilter, dialect);

            return(0);
        }
Esempio n. 3
0
        public void Test_Formats_To_Obj_Conversion()
        {
            var watch = new Stopwatch();

            using (var reader = new CsvAdapter())
            {
                reader.FileName  = Path.Combine(this.testDataPath, @"DataFormats.txt");
                reader.Enclosure = "\"";
                reader.Separator = ";";

                using (var writer = new FixedTextAdapter())
                {
                    writer.FileName = Path.Combine(this.resultPath, @"DataFormats-Fixed.txt");

                    watch.Start();
                    int lineCount = 0;

                    reader.ReadDataAs <DataFormatTest>(30)
                    .ForEach(x =>
                    {
                        Console.WriteLine(x.ToString());
                        lineCount += 1;
                    })
                    .Do(x => writer.WriteDataFrom <DataFormatTest>(x, false, 30));

                    watch.Stop();
                    Console.WriteLine("lineCount=" + lineCount + ", Time=" + watch.Elapsed);

                    // check
                    var targetlineCount = File.ReadLines(this.resultPath + @"DataFormats-Fixed.txt").Count();

                    Assert.AreEqual(6, targetlineCount);
                }
            }
        }
Esempio n. 4
0
        public static void Sample_Csv_To_Fixed()
        {
            string sampleDataPath = @"..\..\Samples\";
            var    watch          = new Stopwatch();

            using (var reader = new CsvAdapter())
            {
                reader.FileName  = sampleDataPath + @"cd-Daten.txt";
                reader.Enclosure = "\"";
                reader.Separator = ";";

                using (var writer = new FixedTextAdapter())
                {
                    writer.FileName = Path.Combine(Path.GetDirectoryName(reader.FileName), "cd-Daten-Fixed.txt");

                    watch.Start();
                    int lineCount = 0;

                    reader.ReadDataAs <CdDaten>(30)
                    .ForEach(x =>
                    {
                        lineCount += 1;
                    })
                    .Do(x => writer.WriteDataFrom <CdDaten>(x, false, 30));

                    watch.Stop();
                    Console.WriteLine("lineCount=" + lineCount + ", Time=" + watch.Elapsed);
                    Console.ReadLine();
                }
            }
        }
Esempio n. 5
0
        public static void Sample_ReadXml_WriteCsvs_Kunden()
        {
            string sampleDataPath = @"..\..\Samples\";
            var    watch          = new Stopwatch();

            using (var reader = new XmlAdapter())
            {
                reader.FileName      = sampleDataPath + @"kunden.xml";
                reader.XPath         = "/adre/kunde";
                reader.ReadFormatter = new XmlToDataSetFormatter();
                using (var writer = new CsvAdapter())
                {
                    writer.FileName = "";

                    watch.Start();
                    int lineCount = 0;

                    reader.ReadData(30)
                    .ForEach(x =>
                    {
                        writer.FileName = sampleDataPath + x.TableName + ".csv";
                        Console.WriteLine("Tablename=" + x.TableName + ", Count=" + x.Rows.Count);
                        lineCount += x.Rows.Count;
                    })
                    .Do(x => writer.WriteData(x));

                    watch.Stop();
                    Console.WriteLine("lineCount=" + lineCount + ", Time=" + watch.Elapsed);
                    Console.ReadLine();
                }
            }
        }
Esempio n. 6
0
        public static void Sample_ReadExcel_WriteCsv()
        {
            string sampleDataPath = @"..\..\Samples\";
            var    watch          = new Stopwatch();

            using (var reader = new ExcelNativeAdapter())
            {
                reader.FileName  = sampleDataPath + @"cd-Daten.xls";
                reader.SheetName = "Tabelle1";
                reader.Connect();

                using (var writer = new CsvAdapter())
                {
                    writer.FileName = Path.Combine(sampleDataPath, "cd-Daten_FromXls.csv");

                    watch.Start();
                    int lineCount = 0;

                    reader.ReadData(30)
                    .ForEach(x =>
                    {
                        Console.WriteLine("Tablename=" + x.TableName + ", Count=" + x.Rows.Count);
                        lineCount += x.Rows.Count;
                    })
                    .Do(x => writer.WriteData(x, false));

                    watch.Stop();
                    Console.WriteLine("lineCount=" + lineCount + ", Time=" + watch.Elapsed);
                    Console.ReadLine();
                }

                reader.Disconnect();
            }
        }
Esempio n. 7
0
        public static void Sample_ReadXml_WriteCsv_Address()
        {
            string sampleDataPath = @"..\..\Samples\";
            var    watch          = new Stopwatch();

            using (var reader = new XmlAdapter())
            {
                reader.FileName = sampleDataPath + @"GetAddressResponse.xml";
                reader.XPath    = "/GetAddressResponse/GetAddressResult/result/address";

                using (var writer = new CsvAdapter())
                {
                    writer.FileName = sampleDataPath + @"flatxml.csv";

                    watch.Start();
                    int lineCount = 0;

                    reader.ReadData(30)
                    .ForEach(x =>
                    {
                        Console.WriteLine("Tablename=" + x.TableName + ", Count=" + x.Rows.Count);
                        lineCount += x.Rows.Count;
                    })
                    .Do(x => writer.WriteData(x));

                    watch.Stop();
                    Console.WriteLine("lineCount=" + lineCount + ", Time=" + watch.Elapsed);
                    Console.ReadLine();
                }
            }
        }
Esempio n. 8
0
 private void ReadFile()
 {
     if (File.Exists(this.pathFile))
     {
         if (this.dataTable == null)
         {
             InitializeDataTable();
         }
         else
         {
             this.dataTable.Clear();
         }
         csvAdapter = new CsvAdapter(this.pathFile, this.dataTable, constantProgramName);
         csvAdapter.ReadFile();
     }
     else
     {
         if (this.dataTable != null)
         {
             this.dataTable.Clear();
         }
         //this.csvAdapter = null;
         //this.dataTable = null;
     }
 }
Esempio n. 9
0
        public void Test_Csv_Excel_Csv()
        {
            using (var csvReader = new CsvAdapter())
                using (var excelWriter = new ExcelNativeAdapter())
                    using (var excelReader = new ExcelNativeAdapter())
                        using (var csvWriter = new CsvAdapter())
                        {
                            csvReader.Enclosure = "\"";
                            csvReader.FileName  = this.testDataPath + @"cd-Daten.txt";
                            var csvData = csvReader.ReadAllData();

                            excelWriter.FileName  = Path.Combine(this.resultPath, "cd-Daten.xls");
                            excelWriter.SheetName = "Tabelle1";
                            excelWriter.CreateNewFile();
                            excelWriter.Connect();
                            excelWriter.WriteAllData(csvData);
                            excelWriter.Disconnect();

                            excelReader.FileName  = excelWriter.FileName;
                            excelReader.SheetName = excelWriter.SheetName;
                            excelReader.Connect();
                            var accessData = excelReader.ReadAllData();

                            csvWriter.Encoding  = csvReader.Encoding;
                            csvWriter.Enclosure = csvReader.Enclosure;
                            csvWriter.FileName  = this.resultPath + @"cd-Daten_ExcelRoundtrip.csv";
                            csvWriter.WriteAllData(accessData);

                            if (!FileUtil.CompareFiles(csvReader.FileName, csvWriter.FileName))
                            {
                                throw new Exception("Original and copied file do not match");
                            }
                        }
        }
Esempio n. 10
0
        public void Test_ReadXml_WriteCsv_Address()
        {
            using (var reader = new XmlAdapter())
            {
                reader.FileName = Path.Combine(this.testDataPath, @"GetAddressResponse.xml");
                reader.XPath    = "/GetAddressResponse/GetAddressResult/result/address";

                using (var writer = new CsvAdapter())
                {
                    writer.FileName = Path.Combine(this.resultPath, @"flatxml.csv");

                    int lineCount = 0;

                    reader.ReadData(30)
                    .ForEach(x =>
                    {
                        Console.WriteLine("Tablename=" + x.TableName + ", Count=" + x.Rows.Count);
                        lineCount += x.Rows.Count;
                    })
                    .Do(x => writer.WriteData(x));
                }
            }

            // check
            var targetlineCount = File.ReadLines(this.resultPath + @"flatxml.csv").Count();

            Assert.AreEqual(3, targetlineCount);
        }
        public bool PrepareFileForRetrievingData(string filePath)
        {
            this.csvAdapter = new CsvAdapter(filePath, ',', 1, 1, 0, true);

            this.IsPreparedForDetailsOnly = false;

            return(this.csvAdapter.LoadForData());
        }
        public bool PrepareFileForLoadingSessionInformationAndConfiguration(string filePath, bool detailsOnly)
        {
            this.csvAdapter = new CsvAdapter(filePath, ',', 1, 1, 0, true);

            this.IsPreparedForDetailsOnly = true;

            return(this.csvAdapter.LoadForInfoAndConfig());
        }
        public void GivenNonExistentPath_WhenLoadingCsvData_ItThrows()
        {
            var provider = new CsvAdapter(new CsvToSheetConverter());

            Action result = () => provider.GetFromPath(@"/some/non/existing/file", ';');

            result.Should().Throw <DirectoryNotFoundException>();
        }
        public void GivenCsvFileOnDisk_WhenLoadingCsvData_SheetContainsData()
        {
            var provider = new CsvAdapter(new CsvToSheetConverter());

            var sheet = provider.GetFromPath(@"./TestFiles/test.csv", ';');

            sheet.Rows.Count.Should().Be(3);
            sheet.Rows.First().Cells.Count.Should().Be(2);
        }
        public void GivenInvalidBase64EncodedString_WhenLoadingCsvData_ItThrows()
        {
            var base64EncodedCsv = "some invalid base64encoded string";

            var    provider = new CsvAdapter(new CsvToSheetConverter());
            Action result   = () => provider.GetFromBase64Encoded(base64EncodedCsv, ';');

            result.Should().Throw <FormatException>();
        }
        public void GivenBase64EncodedString_WhenLoadingCsvData_SheetContainsData()
        {
            var base64EncodedCsv = "Y29sdW1uMTtjb2x1bW5zMg0Kb25lOzENCnR3bzsy";

            var provider = new CsvAdapter(new CsvToSheetConverter());
            var csvData  = provider.GetFromBase64Encoded(base64EncodedCsv, ';');

            csvData.Rows.Count.Should().Be(3);
            csvData.Rows.First().Cells.Count.Should().Be(2);
        }
        private void Initialize()
        {
            CsvStatsImporter csvStatsImporter = new CsvStatsImporter();
            IStatsImporter   csvAdapter       = new CsvAdapter(csvStatsImporter);

            JsonStatsImporter jsonStatsImporter = new JsonStatsImporter();
            IStatsImporter    jsonImporter      = new JsonAdapter(jsonStatsImporter);

            var jsonImportedSettings = jsonImporter.FetchData();
            var csvIMportedSettings  = csvAdapter.FetchData();
        }
Esempio n. 18
0
        public static void Sample_String_To_Sqlite()
        {
            string data = @"Name;Address;Gpnr
John;Main Road; 4711
Jeffrey;;4712
Mike;Hauptstr.1;4713";

            string sampleDataPath = @"..\..\Samples\";
            var    watch          = new Stopwatch();

            using (Stream stream = StreamUtil.CreateStream(data))
            {
                using (var reader = new CsvAdapter(stream))
                {
                    reader.Separator = ";";

                    using (var writer = new SqliteAdapter())
                    {
                        writer.FileName = sampleDataPath + @"stringdata.sqlite";
                        writer.CreateNewFile();
                        writer.TableName = "Tabelle1";

                        if (!writer.Connect())
                        {
                            throw new Exception("No connection");
                        }

                        watch.Start();
                        int lineCount = 0;

                        reader.ReadData(30)
                        .ForEach(x =>
                        {
                            Console.WriteLine("Tablename=" + x.TableName + ", Count=" + x.Rows.Count);
                            lineCount += x.Rows.Count;
                        })
                        .Do(x => writer.WriteData(x));

                        watch.Stop();
                        Console.WriteLine("lineCount=" + lineCount + ", Time=" + watch.Elapsed);
                        Console.ReadLine();
                    }
                }
            }
        }
Esempio n. 19
0
 // ******************************************************* Public Functions - Csv ********************************************************
 public string ConnectToFile(string pathCsvFile)
 {
     try {
         using (StreamReader streamReader = new StreamReader(pathCsvFile)) {
             // Just to test if path is OK and can read the file
         }
     }
     catch {
         return("Unable to connect to .csv file. File must exist.");
     }
     csvAdapter = new CsvAdapter(pathCsvFile, this.DataTable, this.constantProgramName);
     if (csvAdapter == null)
     {
         return("Unable to connect to .csv file: " + pathCsvFile + ". File must exist.");
     }
     else
     {
         return("");  // Empty string if no error.
     }
 }
Esempio n. 20
0
        public static void Sample_ReadOracle_WriteCsv()
        {
            string sampleDataPath = @"..\..\Samples\";
            var    watch          = new Stopwatch();

            using (var reader = new DbAdapter())
            {
                reader.ConnectionInfo = new OracleNativeDbConnectionInfo()
                {
                    Database = "TESTDB01",
                    UserName = "******",
                    Password = "******",
                    Host     = "COMPUTER01"
                };
                reader.TableName = "TB_DATA";
                reader.Connect();

                using (var writer = new CsvAdapter())
                {
                    writer.FileName = Path.Combine(sampleDataPath, "TB_DATA.csv");

                    watch.Start();
                    int lineCount = 0;

                    reader.ReadData(30)
                    .ForEach(x =>
                    {
                        Console.WriteLine("Tablename=" + x.TableName + ", Count=" + x.Rows.Count);
                        lineCount += x.Rows.Count;
                    })
                    .Do(x => writer.WriteData(x, false));

                    watch.Stop();
                    Console.WriteLine("lineCount=" + lineCount + ", Time=" + watch.Elapsed);
                    Console.ReadLine();
                }

                reader.Disconnect();
            }
        }
Esempio n. 21
0
        public static void Sample_Csv_To_Sqlite()
        {
            string sampleDataPath = @"..\..\Samples\";
            var    watch          = new Stopwatch();

            using (var reader = new CsvAdapter())
            {
                reader.FileName  = sampleDataPath + @"cd-Daten.txt";
                reader.Enclosure = "\"";
                reader.Separator = ";";

                using (var writer = new SqliteAdapter())
                {
                    writer.FileName = sampleDataPath + @"cd-Daten.sqlite";
                    writer.CreateNewFile();

                    if (!writer.Connect())
                    {
                        throw new Exception("No connection");
                    }

                    watch.Start();
                    int lineCount = 0;

                    reader.ReadDataAs <CdDaten>(30)
                    .ForEach(x =>
                    {
                        lineCount += 1;
                    })
                    .Do(x => writer.WriteDataFrom <CdDaten>(x, false, 30));

                    writer.Disconnect();

                    watch.Stop();
                    Console.WriteLine("lineCount=" + lineCount + ", Time=" + watch.Elapsed);
                    Console.ReadLine();
                }
            }
        }
Esempio n. 22
0
        public static void Sample_DateFormats_Converted()
        {
            string sampleDataPath = @"..\..\Samples\";
            var    watch          = new Stopwatch();

            using (var reader = new CsvAdapter())
            {
                reader.FileName  = sampleDataPath + @"DataFormats.txt";
                reader.Enclosure = "\"";
                reader.Separator = ";";

                reader.ReadConverter.CountryColumnName = "CountryCode";
                reader.ReadConverter.DefaultCulture    = CultureInfo.CurrentCulture;
                reader.ReadConverter.ConverterDefinitions.Add(new ValueConverterDefinition("ReverseDate", typeof(DateTimeFormatConverter), "yyyyMMddHHmmss"));

                using (var writer = new CsvAdapter())
                {
                    writer.FileName  = Path.Combine(Path.GetDirectoryName(reader.FileName), "DataFormats-Converted.txt");
                    writer.Enclosure = "\"";
                    writer.Separator = ";";

                    watch.Start();
                    int lineCount = 0;

                    reader.ReadData(30)
                    .ForEach(x =>
                    {
                        Console.WriteLine(x.ToString());
                        lineCount += x.Rows.Count;
                    })
                    .Do(x => writer.WriteData(x, false));

                    watch.Stop();
                    Console.WriteLine("lineCount=" + lineCount + ", Time=" + watch.Elapsed);
                    Console.ReadLine();
                }
            }
        }
Esempio n. 23
0
        public void Test_Csv_Access_Csv()
        {
            DirectoryUtil.ClearDirectory(this.resultPath);

            using (var csvReader = new CsvAdapter())
                using (var accessWriter = new AccessAdapter())
                    using (var accessReader = new AccessAdapter())
                        using (var csvWriter = new CsvAdapter())
                        {
                            csvReader.Enclosure = "";
                            csvReader.FileName  = this.testDataPath + @"StringData.csv";
                            csvReader.AutoDetectEncoding();
                            var csvData = csvReader.ReadAllData();

                            accessWriter.FileName  = Path.Combine(this.resultPath, "cd-Daten.mdb");
                            accessWriter.TableName = "Tabelle1";
                            accessWriter.CreateNewFile();
                            accessWriter.Connect();
                            accessWriter.WriteAllData(csvData);
                            accessWriter.Disconnect();

                            accessReader.FileName  = accessWriter.FileName;
                            accessReader.TableName = accessWriter.TableName;
                            accessReader.Connect();
                            var accessData = accessReader.ReadAllData();
                            accessReader.Disconnect();

                            csvWriter.Encoding  = csvReader.Encoding;
                            csvWriter.Enclosure = csvReader.Enclosure;
                            csvWriter.FileName  = this.resultPath + @"cd-Daten_AccessRoundtrip.csv";
                            csvWriter.WriteAllData(accessData);

                            if (!FileUtil.CompareFiles(csvReader.FileName, csvWriter.FileName))
                            {
                                throw new Exception("Original and copied file do not match");
                            }
                        }
        }
        public void GivenAStream_WhenLoadingCsvData_SheetContainsData()
        {
            using (var memoryStream = new MemoryStream())
            {
                using (var writer = new StreamWriter(memoryStream, Encoding.UTF8, 1024, true))
                {
                    writer.WriteLine("columnn1;column2");
                    writer.WriteLine("one;1");
                    writer.WriteLine("two;2");

                    writer.Flush();
                    memoryStream.Position = 0;

                    using (var sr = new StreamReader(memoryStream, Encoding.UTF8, false, 1024, true))
                    {
                        var provider = new CsvAdapter(new CsvToSheetConverter());
                        var csvData  = provider.GetFromStream(sr.BaseStream, ';');

                        csvData.Rows.Count.Should().Be(3);
                        csvData.Rows.First().Cells.Count.Should().Be(2);
                    }
                }
            }
        }
Esempio n. 25
0
        public void Write_Data_To_Excel_Test()
        {
            using (var dt = new CsvAdapter("TestData\\Customers.csv").Read())
            {
                using (var con = new ExcelAdapter("TestData\\The_TestOf_WriteData_Customers.xlsx", op =>
                {
                    op.OpenMode = OpenMode.Editable;
                    op.AddDefaultSheets = false;
                }))
                {
                    con.AddNewSheet(dt);
                    con.Save();
                }

                using (var con = new ExcelAdapter("TestData\\The_TestOf_WriteData_Customers.xlsx"))
                {
                    using (var newtb = con.ReadData(dt.TableName).ToDataTable(true))
                    {
                        Assert.IsTrue(dt.Rows.Count == newtb.Rows.Count);
                        Assert.IsTrue(dt.Columns.Count == newtb.Columns.Count);
                    }
                }
            }
        }
Esempio n. 26
0
 public void Setup() {
     sut = new CsvAdapter();
 }
Esempio n. 27
0
 public void Init()
 {
     _adapter = new CsvAdapter();
 }
 public void CloseSession()
 {
     this.csvAdapter = null;
 }