I'm using 3.1.3.3.
```
using System;
using System.Data;
using OfficeOpenXml;
namespace Test
{
class Program
{
static void Main(string[] args)
{
var ep = new ExcelPackage();
var sheet = ep.Workbook.Worksheets.Add("Test");
// Make an empty table
var dt = new DataTable();
dt.Columns.Add(new DataColumn("col1"));
dt.Columns.Add(new DataColumn("col2"));
// Load empty table at A1
try
{
sheet.Cells["A1"].LoadFromDataTable(dt, false);
}
catch (ArgumentException e)
{
Console.WriteLine(e);
Console.WriteLine();
}
// Load empty table at A2
try
{
sheet.Cells["A2"].LoadFromDataTable(dt, false);
}
catch (ArgumentOutOfRangeException e)
{
Console.WriteLine(e);
Console.WriteLine();
}
Console.WriteLine("Press any key ...");
Console.ReadKey();
}
}
}
```
Output:
```
System.ArgumentException: Row out of range
at OfficeOpenXml.ExcelRange.ValidateRowCol(Int32 Row, Int32 Col)
at OfficeOpenXml.ExcelRange.get_Item(Int32 FromRow, Int32 FromCol, Int32 ToRo
w, Int32 ToCol)
at OfficeOpenXml.ExcelRangeBase.LoadFromDataTable(DataTable Table, Boolean Pr
intHeaders)
System.ArgumentOutOfRangeException: Specified argument was out of the range of v
alid values.
Parameter name: Start cell Address must be less or equal to End cell address
at OfficeOpenXml.ExcelAddressBase.Validate()
at OfficeOpenXml.ExcelAddressBase.SetAddress(String address)
at OfficeOpenXml.ExcelAddress.set_Address(String value)
at OfficeOpenXml.ExcelRange.get_Item(Int32 FromRow, Int32 FromCol, Int32 ToRo
w, Int32 ToCol)
at OfficeOpenXml.ExcelRangeBase.LoadFromDataTable(DataTable Table, Boolean Pr
intHeaders)
```
Comments: Also observed in 4.0.0-beta2.
```
using System;
using System.Data;
using OfficeOpenXml;
namespace Test
{
class Program
{
static void Main(string[] args)
{
var ep = new ExcelPackage();
var sheet = ep.Workbook.Worksheets.Add("Test");
// Make an empty table
var dt = new DataTable();
dt.Columns.Add(new DataColumn("col1"));
dt.Columns.Add(new DataColumn("col2"));
// Load empty table at A1
try
{
sheet.Cells["A1"].LoadFromDataTable(dt, false);
}
catch (ArgumentException e)
{
Console.WriteLine(e);
Console.WriteLine();
}
// Load empty table at A2
try
{
sheet.Cells["A2"].LoadFromDataTable(dt, false);
}
catch (ArgumentOutOfRangeException e)
{
Console.WriteLine(e);
Console.WriteLine();
}
Console.WriteLine("Press any key ...");
Console.ReadKey();
}
}
}
```
Output:
```
System.ArgumentException: Row out of range
at OfficeOpenXml.ExcelRange.ValidateRowCol(Int32 Row, Int32 Col)
at OfficeOpenXml.ExcelRange.get_Item(Int32 FromRow, Int32 FromCol, Int32 ToRo
w, Int32 ToCol)
at OfficeOpenXml.ExcelRangeBase.LoadFromDataTable(DataTable Table, Boolean Pr
intHeaders)
System.ArgumentOutOfRangeException: Specified argument was out of the range of v
alid values.
Parameter name: Start cell Address must be less or equal to End cell address
at OfficeOpenXml.ExcelAddressBase.Validate()
at OfficeOpenXml.ExcelAddressBase.SetAddress(String address)
at OfficeOpenXml.ExcelAddress.set_Address(String value)
at OfficeOpenXml.ExcelRange.get_Item(Int32 FromRow, Int32 FromCol, Int32 ToRo
w, Int32 ToCol)
at OfficeOpenXml.ExcelRangeBase.LoadFromDataTable(DataTable Table, Boolean Pr
intHeaders)
```
Comments: Also observed in 4.0.0-beta2.