3

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

  • Does some other process have open or editing 'C:\Users\Abrar ahmad\Documents\ArcGIS\test.rlf'? – Richard Morgan Mar 7 '15 at 17:24
  • Or is this about writing rights in windows? Do you have admin rights on your computer? Please elaborate. – ragnvald Mar 7 '15 at 17:35
  • @ragnvald yes i have admin rights. – Waqar ahmad Mar 7 '15 at 17:37
  • @RichardMorgan no other process is opened – Waqar ahmad Mar 7 '15 at 17:37
  • @alinaa Edit your question to incorporate this information. This makes your question "better". Our comments are here to help you give us all a better question :-) Welcome here by the way :-) – ragnvald Mar 7 '15 at 17:40
2

i got it working by error handling. but now its not working on template where defination query is added. is i need to add definition query in code also?

Code:

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\ReportLatest.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  

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.