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)); } }
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)); } }
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)); } }
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()); } } } } }
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()); } } } } }