I need to be able to export the selected attributes from Arcmap. I have the following but I get an error on line 32. The first arcpy.Addmessage does print the OID's but not the second Addmessage. My guess is that it's not creating the temp_view. How can I get past this error?
error on line 32
ERROR 000732: Input Table: Dataset tmp_view does not exist or is not supported
Failed to execute (TableToExcel)
selection = "NParcels"
try:
    if int(arcpy.GetCount_management(selection).getOutput(0)) > 0:
        
        arcpy.CopyRows_management(selection, "selct")
        arcpy.MakeTableView_management("selct","selectionView")
        fc = "selectionView"
        desc = arcpy.Describe(fc)
        oidList = [oid[0] for oid in arcpy.da.SearchCursor(fc,["OID@"])]
        arcpy.AddMessage(oidList)
        flds = [fld.name for fld in desc.fields]
        flds_remove = [desc.OIDFieldName,  
                      desc.shapeFieldName,  
                      desc.areaFieldName,
                      desc.LengthFieldName]  
        for fld in flds_remove:  
            flds.remove(fld)   
        arcpy.MakeQueryTable_management(fc, "tmp_view", "NO_KEY_FIELD", "", flds)
        oidList = [oid[0] for oid in arcpy.da.SearchCursor(fc,["OID@"])]
        arcpy.AddMessage(oidList)
except:
    pass
wp1 = "C:/Temp"
outputName = arcpy.GetParameterAsText(0)
outputDist = arcpy.GetParameterAsText(1)
OutputExt = ".xls"
#Result 'tmp_view'  
arcpy.TableToExcel_conversion("tmp_view", wp1 +'\\'+ outputName + '_' + outputDist + '_' + 'Notification' + OutputExt)K
I'd as some exception handling to your except as it's very likely that something is wrong in the try block, the except does nothing and then tmp_view is called when it doesnt exist.
Personally I would get rid of the try except and any arcpy.getparameter stuff until you're sure the code works.
I removed the try block. I get the following error,
ERROR 000055: Cannot create a Query Table for this workspace
Failed to execute (MakeQueryTable).
Just a guess from looking at the docs, but fields argument seems to require a list of lists, something like
[ [field1], [field2] ... ]
maybe:
        flds = [[fld.name] for fld in desc.fields]
        flds_remove = [[desc.OIDFieldName],  
                      [desc.shapeFieldName],  
                      [desc.areaFieldName],
                      [desc.LengthFieldName]] 
					
				
			
			
				
			
			
				
			
			
			
			
			
			
		I did have the following but I kept giving me errors like the following, so I removed them.
[desc.shapeFieldName],
AttributeError: DescribeData: Method shapeFieldName does not exist
[desc.shapeFieldName],
AttributeError: DescribeData: Method areaFieldName does not exist
[desc.shapeFieldName],
AttributeError: DescribeData: Method desc.LengthFieldName does not exist
flds_remove = [desc.OIDFieldName,
desc.shapeFieldName,
desc.areaFieldName,
desc.LengthFieldName] 
I am thinking that the arcpy.MakequeryTable_management is not working because I don't get a list of OID after but I am not sure why.
I was able to get this to work but I had to us the arcpy.CopyFeatures_management which is ok I guess but I would like to skip this part if possible?
if int(arcpy.GetCount_management(selection).getOutput(0)) > 0:
    arcpy.MakeFeatureLayer_management(selection, "SelectLyr")
    arcpy.CopyFeatures_management("SelectLyr", "C:\Temp\Scratchworkspace.gdb\Tempselect")
fc = "C:\Temp\Scratchworkspace.gdb\Tempselect"
desc = arcpy.Describe(fc)
flds = [fld.name for fld in desc.fields]
flds_remove = [desc.OIDFieldName,  
                desc.shapeFieldName,  
                desc.areaFieldName,
                desc.LengthFieldName]  
for fld in flds_remove:  
    flds.remove(fld)
file = folder = os.path.dirname(mxd.filePath)+ "/" + "tmp_view"
arcpy.MakeQueryTable_management(fc, "tmp_view", "NO_KEY_FIELD", "", flds)
wp1 = "C:/Temp"
outputName = arcpy.GetParameterAsText(0)
outputDist = arcpy.GetParameterAsText(1)
OutputExt = ".xls"
#Result 'tmp_view'  
arcpy.TableToExcel_conversion("tmp_view", wp1 +'\\'+ outputName + '_' + outputDist + '_' + 'Listing' + OutputExt)
I am still trying how to figure out how do this without the Copymanagment.
I was able to do it with the arcpy.da.FeatureClassToNumPyArray but it exported all the fields I need to remove the extra fields like the OID, area and length fields.
I have the following but it's still including those extra fields. I get the following error.
DescribeData: Method lengthFieldName does not exist
selection = "NParcels"
if int(arcpy.GetCount_management(selection).getOutput(0)) > 0:
    arcpy.MakeTableView_management(selection, "NP_VIEW")
    fc1 ="NP_VIEW"
    dsc = arcpy.Describe(fc1)
    fields = dsc.fields
    out_fields = [dsc.OIDFieldName, dsc.lengthFieldName, dsc.areaFieldName]
    fieldnames = [field.name for field in fields if field.name not in out_fields]
    nparr = arcpy.da.FeatureClassToNumPyArray(fc1, fieldnames)
    arcpy.TableToExcel_conversion(fc1, "C:/temp/Test.xls")