2

i am unable to generate pdf report using ExportReport function of Arcgis 10.2. getting error of IOError: Could not open report template

tried different template files but still getting this error. Template directory is correct. checked all the directory positions.

Code

import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Users\Abrar ahmad\Documents\ArcGIS\New_Rwp_Cencus(12-17-2014).mxd")
df = arcpy.mapping.ListDataFrames(mxd)[0]
for lyr in arcpy.mapping.ListLayers(mxd, "",df):
if lyr.name == "New_Districts_5_without_limit":
    arcpy.mapping.ExportReport(lyr,r"C:\Users\Abrar ahmad\Documents\ArcGIS\test.rlf",r"C:\Users\Abrar ahmad\Documents\ArcGIS\ProjectReport2.pdf","USE_RLF")
del mxd

Complete Error Data:

Runtime error Traceback (most recent call last): File "", line 7, in File "c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\utils.py", line 181, in fn_ return fn(*args, **kw) File "c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\mapping.py", line 515, in ExportReport return report_source._arc_object.ExportReport(*gp_fixargs((report_layout_file, output_file, dataset_option, report_title, starting_page_number, page_range, report_definition_query, extent, field_map), True)) IOError: Could not open report template

1 Answer 1

1

Execute your code inside try/except/finally and see if this gives some hint:

import arcpy  
import sys  
import traceback  
mxd = arcpy.mapping.MapDocument(r"C:\Users\Abrar ahmad\Documents\ArcGIS\New_Rwp_Cencus(12-17-2014).mxd")  
try:  

  df = arcpy.mapping.ListDataFrames(mxd)[0]  
  for lyr in arcpy.mapping.ListLayers(mxd, "",df):  
  if lyr.name == "New_Districts_5_without_limit":  
   arcpy.mapping.ExportReport(lyr,r"C:\Users\Abrar ahmad\Documents\ArcGIS\test.rlf",r"C:\Users\Abrar ahmad\Documents\ArcGIS\ProjectReport2.pdf","USE_RLF")  

except arcpy.ExecuteError:   
    # Get the tool error messages   
    msgs = arcpy.GetMessages(2)   


    # Return tool error messages for use with a script tool   
    arcpy.AddError(msgs)   


    # Print tool error messages for use in Python/PythonWin   
    print msgs  


except:  
    # Get the traceback object  
    tb = sys.exc_info()[2]  
    tbinfo = traceback.format_tb(tb)[0]  


    # Concatenate information together concerning the error into a message string  
    pymsg = "PYTHON ERRORS:\nTraceback info:\n" + tbinfo + "\nError Info:\n" + str(sys.exc_info()[1])  
    msgs = "ArcPy ERRORS:\n" + arcpy.GetMessages(2) + "\n"  


    # Return python error messages for use in script tool or Python Window  
    arcpy.AddError(pymsg)  
    arcpy.AddError(msgs)  


    # Print Python error messages for use in Python / Python Window  
    print pymsg + "\n"  
    print msgs  
finally:  
    del mxd
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.