Работа с внешними файлами - C#
Формулировка задачи:
Добрый день!
Есть файлик Excel по пути C:\\1.xlsx. Его содержимое копируется в новосозданный файл. Пытаюсь прикрутить работу с любым выбранным через openfiledialog файла. Ткните, пожалуйста, носом, что написать вместо указания пути в к файлу соответствующей строке (тут 9) кода:
Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook ObjWorkBook; //книга, в которую копируем
Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet; //лист, в который копируем
Microsoft.Office.Interop.Excel.Workbook ObjWorkBooks; //книга, из которой копируем
Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheets; //лист, из которого копируем
ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value); //Создание новой книги
ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];
ObjWorkBooks = ObjExcel.Workbooks.Open("C:\\1.xlsx",
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);
ObjWorkSheets = ObjWorkBooks.Worksheets[1]; //выбор первого листа для работы с ним
int LastRow = ObjWorkBooks.Sheets[1].Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row; //поиск последней строки в документе
string Name = "A1:C" + LastRow.ToString(); //выбор диапазона для копирования
string Adress = "A5" + ":C5"; //формирование адреса в новом документе для вставки
ObjWorkSheets.get_Range(Name).Copy();
ObjWorkSheet.get_Range(Adress).PasteSpecial();
ObjWorkBooks.Close(false, Type.Missing, Type.Missing); //закрываем книгу из которой копировали
ObjExcel.Visible = true;
ObjExcel.UserControl = true;Решение задачи: «Работа с внешними файлами»
textual
Листинг программы
Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); dlg.Title = "Выберите файл"; dlg.DefaultExt = ".xlsx"; dlg.Filter = "excel documents |*" + ".xlsx"; if (dlg.ShowDialog() != true) return; string path = dlg.FileName;