/// <summary>
        /// Example to get used range via OpenXml
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cmdUsedRangeOpenXml_Click(object sender, EventArgs e)
        {
            var helper    = new OpenXmlExamples();
            var fileName  = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Customers.xlsx");
            var sheetName = "Customers";
            var customers = helper.ClassToExcelReaderServiceReader(fileName);

            var result = helper.UsedRange(fileName, sheetName);

            txtUsedRangeOpenXml.Text = $"{Path.GetFileName(fileName)}.{sheetName} {result}";
        }
        /// <summary>
        /// Example using a wrapper library over OpenXml to read a specific worksheet
        /// where the data will match up to a concrete class, in this case Customer.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cmdReadUsingWrapperLibOverOpenXml_Click(object sender, EventArgs e)
        {
            var helper    = new OpenXmlExamples();
            var fileName  = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Customers.xlsx");
            var customers = helper.ClassToExcelReaderServiceReader(fileName);

            var f = new frmCustomers(customers);

            try
            {
                f.ShowDialog();
            }
            finally
            {
                f.Dispose();
            }
        }