Открыть и изменить файл excel - C#
Формулировка задачи:
для открытия файла сам файл открывается в чем я не прав?
//Следующий код позволяет выполнять запуск Excel excelapp = new Excel.Application(); excelapp.Visible = true; //Получаем набор ссылок на объекты Workbook excelappworkbooks = excelapp.Workbooks; //Открываем книгу и получаем на нее ссылку excelapp.Workbooks.Open(@"C:\Users\ITC3\Documents\Visual Studio 2010\Projects\ExcelForm\ExcelForm\bin\Debug\Excel.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); //Если бы мы открыли несколько книг, то получили ссылку так //excelappworkbook=excelappworkbooks[1]; //Получаем массив ссылок на листы выбранной книги excelsheets = excelappworkbook.Worksheets;<<-- тут ошибка Ссылка на объект не указывает на экземпляр объекта. //Получаем ссылку на лист 1 excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1); //Выбираем ячейку для вывода A1 excelcells = excelworksheet.get_Range("A1", "A1"); //Выводим число excelcells.Value2 = 10.5; //Выбираем лист 2 excelworksheet = (Excel.Worksheet)excelsheets.get_Item(2); //При выборе одной ячейки можно не указывать вторую границу excelcells = excelworksheet.get_Range("A1", Type.Missing); //Выводим значение текстовую строку excelcells.Value2 = "Лист 2"; excelcells.Font.Size = 20; excelcells.Font.Italic = true; excelcells.Font.Bold = true; //Выбираем лист 3 excelworksheet = (Excel.Worksheet)excelsheets.get_Item(3); //Делаем третий лист активным excelworksheet.Activate(); //Вывод в ячейки используя номер строки и столбца Cells[строка, столбец] int m, n; for (m = 1; m < 20; m++) { for (n = 1; n < 15; n++) { excelcells = (Excel.Range)excelworksheet.Cells[m, n]; //Выводим координаты ячеек excelcells.Value2 = m.ToString() + " " + n.ToString(); } }
Решение задачи: «Открыть и изменить файл excel»
textual
Листинг программы
#region Открытие шаблона и создание нового файла string fileName = System.Windows.Forms.Application.StartupPath + "\\" + "Excel" + ".xlsx", fileName_new = System.Windows.Forms.Application.StartupPath + "\\" + "Excel_new" + ".xlsx"; try { //Приложение самого Excel excelapp = new Excel.Application(); excelapp.Visible = false; //Книга. excelappworkbooks = excelapp.Workbooks; excelapp.Workbooks.Open(fileName, 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); excelappworkbook=excelappworkbooks[1]; //Получаем массив ссылок на листы выбранной книги excelsheets = excelappworkbook.Worksheets; //Выбираем лист 1 excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1); //Выбираем ячейку для вывода A1 excelcells = excelworksheet.get_Range("A1", "A1"); //Выводим число excelcells.Value2 = 10.5; //Выбираем лист 2 excelworksheet = (Excel.Worksheet)excelsheets.get_Item(2); //При выборе одной ячейки можно не указывать вторую границу excelcells = excelworksheet.get_Range("A1", Type.Missing); //Выводим значение текстовую строку excelcells.Value2 = "Лист 2"; excelcells.Font.Size = 20; excelcells.Font.Italic = true; excelcells.Font.Bold = true; //Выбираем лист 3 excelworksheet = (Excel.Worksheet)excelsheets.get_Item(3); //Делаем третий лист активным excelworksheet.Activate(); //Вывод в ячейки используя номер строки и столбца Cells[строка, столбец] for (int m = 1; m < 20; m++) { for (int n = 1; n < 15; n++) { excelcells = (Excel.Range)excelworksheet.Cells[m, n]; //Выводим координаты ячеек excelcells.Value2 = m.ToString() + " " + n.ToString(); } } excelworksheet.Activate(); excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1); for (int m = 1; m < 20; m++) { for (int n = 1; n < 15; n++) { excelcells = (Excel.Range)excelworksheet.Cells[m, n]; //Выводим координаты ячеек excelcells.Value2 = m.ToString() + " " + n.ToString(); } } excelworksheet.SaveAs(fileName_new); #endregion
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д