public override string[] ExportData() { DataTable dtNew = DataTable.CopyForExport(); //Get the response, treatment and covariate columns by removing all other columns from the new datatable foreach (string columnName in dtNew.GetVariableNames()) { if (!VariableA.Contains(columnName) && (VariableB == null || !VariableB.Contains(columnName)) && (VariableC == null || !VariableC.Contains(columnName) && (VariableD == null || !VariableD.Contains(columnName)))) { dtNew.Columns.Remove(columnName); } } string[] csvArray = dtNew.GetCSVArray(); //fix any columns with illegal chars here (at the end) ArgumentFormatter argFormatter = new ArgumentFormatter(); csvArray[0] = argFormatter.ConvertIllegalCharacters(csvArray[0]); return(csvArray); }