I think this may be of interest to many people if it gets a clean solution
I have several attended processes that loop through rows of a datatable extracted from large excel sheets (doing data entry). The process prompts the user for the spreadsheet and environment to apply it to.
Sometimes the process needs to be stopped, or it is interrupted.
Manual restart currently involves:
-
- Copy spreadsheet.
-
- Manually remove processed rows.
-
- Process the copy.
Desired improvement:
- Prompt for startingRow : “Start processing on row: (Default is 2)”
So when the process starts, it would skip all previously processed rows, and begin where the user directs. I’d love to get this functionality working because I would apply it to several tools.
I tried “ExcelReadRange” where I specify the range as
“A” + startingRow
That gets me all the correct data rows BUT it does not retain the column names in the datatable.
I tried reading the spreadsheet once and assigning the
dataTable = dataTable.Clone()
…to get the headers, then using DataTableMerge to re-combine the headers with the content. That has yielded similarly bad results.
I tried coming up with a FilterDataTable model - no luck.
I tried coming up with a creative “range” statement for the original ExcelReadRange to pull in the 1st row for headers, and then include “A” + startingRow again, but had no luck formatting a working range statement model.
I have to believe this is not an obscure need, I’m just looking at it wrong. Can someone share if they have had luck with something like this previously?