Skip to main content

I have the following situation. There are multiple excel files with multiple sheets in it. All sheets have the same template. So i use a dynamic FeatureReader to read all the data at ones. And update a single value based on another value in that sheet.

 

There are two problems:

1. Is that in cell B1 there is a 'project-name' that is different for every sheet in the dataset.

In FME it is not possible to set it to always use the column name as Attribute name so it will use B1 value as column name. Now i have lots of column names that I need to expose and rename. But I don't know on forehand what they will be. A setting that FME will always use column name as attribute name is wanted here.

 

2. When writing the data I want just one cell to be updated. So I use a dynamic filename and a dynamic sheet name. Then I use the Column Name and xlsx_row_id to identify the cell to update.

Then i get the error:

Column name 'xlsx_row_id' for sheet '<Generic>' could not be used as a column position.

I can bypass this bug by using '_row_Id' instead of 'xlsx_row_id' and manualy remove the _row_id from the list of Attributes to write.

 

The solution would be for FME to ignore the 'Format Attribute' xlsx_row_id' or ignore the attribute that is used as 'Row Number Attribute'. Something else is going wrong as well because I set the 'fme_feature_type' to mySheetName and FME is trying to write to the sheetname '<Generic>' while I told it to use the 'fme_feature_type' Attribute.0684Q00000ArEl7QAF.png

 

This is a working template that shows the problems I have:

 

I have tested in 2019.1 and 2020.0

They both have the same problem.

 

 

 

 

 

 

 

 

Yes, this is still an issue!


Reply