Getting error in running ExportReport Python code in ArcMap?

3759
3
Jump to solution
03-06-2015 10:45 AM
waqarahmad
New Contributor III

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

0 Kudos
1 Solution

Accepted Solutions
MahtabAlam1
Occasional Contributor

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

Arcpy exception handling

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

View solution in original post

3 Replies
MahtabAlam1
Occasional Contributor

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

Arcpy exception handling

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
waqarahmad
New Contributor III

Thanks it helped me..

0 Kudos
DanDeegan
New Contributor III

I am struggling with this as well (ArcMap 10.7) and when I added all of that great error reporting. And to me it was revealed:

Could not open report template

 

Its not a network drive issue ( i moved the rlf files to my local HD). The paths seem fine. the table view is fine. Very frustrated. 

0 Kudos