Открыть и изменить файл 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.6 из 5