Friday, 15 February 2013

c# - Storing Excel Rows in List for later insertion into different workbook -



c# - Storing Excel Rows in List<Range> for later insertion into different workbook -

i splitting 1 big spreadsheet many (100's) smaller spreadsheet. approach store rows of source spreadsheet in list:

list<range> ranges = new list<range>(); workbook book = xl.workbooks.add("path book"); worksheet sheet = book.sheets[1]; (int r = 1; r <= sheet.usedrange.rows.count; r++) { ranges.add((range)sheet.rows[r]); } book.close(); ...... workbook book2 = xl.workbooks.add(); worksheet sheet2 = book2.sheets[1]; (int r2 = 0; r2 <= ranges.count; r2++) { range row = (range)ranges[r2]; // sheet2.rows[r2+1].value2 = row; //fails; //querying in debug, properties of row throw exception //queryying sheet.rows[r2+1] expands expected }

if see error please advise.

thanks.

i think after close first source book, can no longer utilize range references you've taken it. move book.close() end of snippet. upper bound for sec loop should < not <=.

for (int r2 = 0; r2 < ranges.count; r2++) { ranges[r2].copy(); sheet2.paste(sheet2.rows[r2+1]); }

c# excel interop

No comments:

Post a Comment