Копирование ячеек Excel - C#
Формулировка задачи:
Доброго дня, столкнулся с проблемой, не могу понять почему выпадает исключение, собственно есть код, который открывает 2 Excel файла и из одного листа файла 1, копирует данные в другой файл (Excel 2013):
Собственно вопрос, что я делаю не так?
Само исключение такое:
Microsoft.Office.Interop.Excel.Application ObjWorkExcelInput = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook ObjWorkBookInput = ObjWorkExcelInput.Workbooks.Open(textBoxPromotionalSales.Text, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheetInput = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBookInput.Sheets["Promotional-Sales"]; Microsoft.Office.Interop.Excel.Application ObjWorkExcelOutput = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook ObjWorkBookOutput = ObjWorkExcelOutput.Workbooks.Open(@"C:\Users\pnavitsk\Desktop\Работа\Выходной файл (тестовый)", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheetOutput = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBookOutput.Sheets["Promotional sales"]; var lastCell = ObjWorkSheetInput.Cells.SpecialCells(Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeLastCell); try { ObjWorkSheetOutput.Cells.Clear(); for (int i = 1; i < (int)lastCell.Row; i++) for (int j = 1; i < (int)lastCell.Column; j++) ObjWorkSheetOutput.Cells[i, j].Value2 = ObjWorkSheetInput.Cells[i, j].Value2; //ObjWorkBookOutput.Sheets["Promotional sales"].Copy(Before: ObjWorkBookInput.Sheets["Promotional-Sales"]); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { ObjWorkBookInput.Close(false, Type.Missing, Type.Missing); ObjWorkBookOutput.Close(true, Type.Missing, Type.Missing); ObjWorkExcelInput.Quit(); ObjWorkExcelOutput.Quit(); GC.Collect(); }
Решение задачи: «Копирование ячеек Excel»
textual
Листинг программы
for (int i = 1; i < (int)lastCell.Row; i++) for (int j = 1; j < (int)lastCell.Column; j++) { ObjWorkSheetOutput.Cells[i, j] = ObjWorkSheetInput.Cells[i, j]; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д