Esempio n. 1
0
        public void ExcelDataReaderReadTreatTextNullAsNull()
        {
            ExcelFile setting = new ExcelFile();

            setting.FileName  = System.IO.Path.Combine(m_ApplicationDirectory, "BasicExcel.xls");
            setting.SheetName = "Basic";
            // setting.TreatTextNullAsNull = true;
            using (ExcelFileReaderInterop test = new ExcelFileReaderInterop())
            {
                test.Open(setting, CancellationToken.None, true);

                test.Read();
                Assert.AreEqual(1, test.GetInt32(0));
                Assert.AreEqual("German", test.GetString(1));
                Assert.AreEqual(new DateTime(1901, 1, 5), test.GetDateTime(2));
                Assert.AreEqual(276d, test.GetDouble(3));
                Assert.AreEqual(0.94, test.GetDouble(4));
                Assert.AreEqual(true, test.GetBoolean(5));
                test.Read();
                test.Read();
                Assert.AreEqual(4, test.GetInt32(0));
                Assert.IsTrue(test.IsDBNull(1));
                Assert.IsTrue(string.IsNullOrEmpty(test.GetString(1)));
                Assert.AreEqual(DBNull.Value, test.GetValue(1));
                Assert.IsTrue(test.IsDBNull(2));
                Assert.AreEqual(true, test.GetBoolean(5));
                test.Read();
                test.Read();
                Assert.IsTrue(string.IsNullOrEmpty(test.GetString(1)));
                Assert.AreEqual(DBNull.Value, test.GetValue(1));
            }
        }
Esempio n. 2
0
        public void ExcelDataReaderRangeTrim()
        {
            m_ValidSetting.SheetName      = "Trimming";
            m_ValidSetting.SheetRange     = "B4:D9";
            m_ValidSetting.TrimmingOption = TrimmingOption.All;
            using (ExcelFileReaderInterop test = new ExcelFileReaderInterop())
            {
                test.Open(m_ValidSetting, CancellationToken.None, true);
                test.Read();
                // 1 German Fluent TRUE 01/01/2001
                Assert.AreEqual("1", test.GetString(0));
                // The natural Excel format is double But m_ValidSetting defines it as int, so an int should
                // be returned
                Assert.AreEqual(1, (int)test.GetValue(0));
                Assert.IsFalse(test.IsDBNull(0));

                Assert.AreEqual("German", test.GetValue(1));
                Assert.AreEqual("Fluent", test.GetValue(2));

                test.Read();
                test.Read();
                Assert.AreEqual("4", test.GetString(0));
                Assert.AreEqual(4, (int)test.GetValue(0));
                Assert.AreEqual("German", test.GetValue(1));
            }
        }
Esempio n. 3
0
        public void ExcelDataReaderRead()
        {
            using (ExcelFileReaderInterop test = new ExcelFileReaderInterop())
            {
                test.Open(m_ValidSetting, CancellationToken.None, true);
                test.Read();
                // 1 German Fluent TRUE 01/01/2001
                Assert.AreEqual("1", test.GetString(0));
                Assert.AreEqual(1d, test.GetDouble(0));
                // The natural Excel format is double But m_ValidSetting defines it as int, so an int should
                // be returned
                Assert.AreEqual(1, (int)test.GetValue(0));

                Assert.IsFalse(test.IsDBNull(0));

                Assert.AreEqual("German", test.GetString(1));
                Assert.AreEqual("Fluent", test.GetString(2));
                Assert.AreEqual("True", test.GetString(3), true);
                Assert.IsTrue(test.GetBoolean(3));
                Assert.IsInstanceOfType(test.GetValue(3), typeof(Boolean));

                Assert.AreEqual(string.Format(System.Globalization.CultureInfo.CurrentCulture, "{0:d}", new DateTime(2001, 01, 01)), test.GetString(4));
                Assert.IsInstanceOfType(test.GetValue(4), typeof(DateTime));
            }
        }
Esempio n. 4
0
        public void ExcelDataReader_ReadDateTime()
        {
            ExcelFile setting = new ExcelFile();

            setting.FileName  = System.IO.Path.Combine(m_ApplicationDirectory, "DateTimeCombineExcel.xlsx");
            setting.SheetName = "Combinations";
            setting.ColumnAdd(new Column()
            {
                Name = "Date", DataType = DataType.DateTime, DateFormat = @"dd/MM/yyyy HH:mm;HH:mm", TimePart = @"Time", TimePartFormat = @"HH:mm;dd/MM/yyyy HH:mm", DateSeparator = ".", TimeSeparator = ":"
            });
            setting.ColumnAdd(new Column()
            {
                Name = "Result", DataType = DataType.DateTime
            });

            using (ExcelFileReaderInterop test = new ExcelFileReaderInterop())
            {
                test.Open(setting, CancellationToken.None, true);
                Assert.IsFalse(test.IsClosed, "Can not open file");
                int row = 0;
                while (test.Read())
                {
                    row++;
                    if (test.GetString(0) == null && test.GetString(1) == null)
                    {
                        Assert.AreEqual(DBNull.Value, test.GetValue(2));
                    }
                    else
                    {
                        var val = test.GetValue(2);
                        var res = test.GetValue(4);
                        if (val != DBNull.Value && res != DBNull.Value)
                        {
                            Assert.AreEqual((DateTime)res, (DateTime)val, "Wrong result for row " + row.ToString());
                        }
                    }
                }
            }
        }
Esempio n. 5
0
        public void ExcelDataReader_ReadDate()
        {
            ExcelFile setting = new ExcelFile();

            setting.FileName  = System.IO.Path.Combine(m_ApplicationDirectory, "DateTimeCombineExcel.xlsx");
            setting.SheetName = "Combinations";
            setting.ColumnAdd(new Column()
            {
                Name = "Date", DataType = DataType.DateTime, DateFormat = @"dd/MM/yyyy HH:mm;HH:mm", DateSeparator = ".", TimeSeparator = ":"
            });
            setting.TreatTextAsNull = string.Empty;

            using (ExcelFileReaderInterop test = new ExcelFileReaderInterop())
            {
                test.Open(setting, System.Threading.CancellationToken.None, true);
                Assert.IsFalse(test.IsClosed);
                int row = 0;
                while (test.Read())
                {
                    row++;
                    if (test.GetString(0) == null || test.GetString(0).Equals("Null", StringComparison.OrdinalIgnoreCase))
                    {
                        Assert.AreEqual(DBNull.Value, test.GetValue(2));
                    }
                    else
                    {
                        var val = test.GetValue(2);
                        Assert.IsNotNull(val);
                        if (!test.GetValue(0).ToString().Equals("Null", StringComparison.OrdinalIgnoreCase))
                        {
                            Assert.IsInstanceOfType(val, typeof(DateTime), "Did not return DateTime for row " + row.ToString());
                        }
                    }
                }
            }
        }