Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Заблокирован

Создание цикла для внесения списка в Exсel

02.05.2012, 19:59. Показов 956. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно сделать цикл в коде помеченным красным цветом(оно помечено в коде [COLOR="Red"] )! Пользователь должен сам ввести кол-во студентов, которых он он будет забивать в таблицу. А нумероваться студенты должны в цикле автоматически от 1 до кол-во, которое вбил пользователь


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
using System;
using System.Collections.Generic;
using System.Linq;
//Соединяем с Excel и Word через ссылки
using Excel = Microsoft.Office.Interop.Excel;
using Word = Microsoft.Office.Interop.Word;
 
namespace Lion
{
    class Programm
    {
        static void Main(string[] args)
        {
            char a = '0';
            Console.WriteLine("           Добро пожаловать в программу \"Список студентов\"");
            Console.WriteLine();
            Console.WriteLine("Вы хотите создать список студентов? Для продолжения нажмите Y или N");
            a = Convert.ToChar(Console.ReadLine());
            if (a == 'y')
                goto done;
            if (a == 'n')
                Environment.Exit(0);
 
        done:
   [COLOR="Red"]         Console.WriteLine("Введите: номер, фамилию и имя студента");
            var bankAccounts = new List<Student> 
            {
                new Student { 
                              ID = Convert.ToInt32(Console.ReadLine()),
                              FirstName = Console.ReadLine(),
                              Name = Console.ReadLine()
                            },
                new Student {
                              ID = Convert.ToInt32(Console.ReadLine()),
                              FirstName = Console.ReadLine(),
                              Name = Console.ReadLine()
                            }
            };[/COLOR]
 
            //Отображение списка в электронную таблицу Excel.
            DisplayInExcel(bankAccounts);
 
            // Создаем  документ Word, который будет содержать значок, который связан с таблицей
            CreateIconInWordDoc();
        }
    
 
        static void DisplayInExcel(IEnumerable<Student> accounts)
        {
            var excelApp = new Excel.Application();
            // Делаем этот объект видимым
            excelApp.Visible = true;
 
            // Создаем новую, пустую книгу и добавить его в коллекцию, возвращаемую в книги
            //  Новая книга становится активной книгой.
            excelApp.Workbooks.Add();
 
            // Этот пример использует одну таблицу.
            Excel._Worksheet workSheet = excelApp.ActiveSheet;
 
            //Создание заголовков: столбцов, в ячейках A1 и B1.
            workSheet.Cells[1, "A"] = "№";
            workSheet.Cells[1, "B"] = "Фамилия";
            workSheet.Cells[1, "C"] = "Имя";
 
            var row = 1;
            //Цикл foreach помещает сведения из списка счетов в первые два столбца последовательных строк листа.
            foreach (var acct in accounts)
            {
                row++;
                workSheet.Cells[row, "A"] = acct.ID;
                workSheet.Cells[row, "B"] = acct.FirstName;
                workSheet.Cells[row, "C"] = acct.Name;
            }
            //Код, чтобы ширина столбца изменялась в соответствии с содержимым.
            workSheet.Columns[1].AutoFit();
            workSheet.Columns[2].AutoFit();
            workSheet.Columns[3].AutoFit();
 
            workSheet.Range["A1", "C3"].AutoFormat(
                Excel.XlRangeAutoFormat.xlRangeAutoFormatClassic2);
 
            // Помещаем содержимое таблицы в буфер обмена
            // Передается, копирование в буфер обмена.
            workSheet.Range["A1:C3"].Copy();
            
            Console.ReadKey();
        }
        // Создание иконки Excel в Worde
        static void CreateIconInWordDoc()
        {
            var wordApp = new Word.Application();
            wordApp.Visible = true;
            /*У Add метода есть четыре справочных параметра ,все из которых 
    //дополнительные
             *  C# позволяет Вам опускать аргументы у них если
    //значения стоят по умолчанию - а если не стоят, то, что Вы хотите.
             * */
            wordApp.Documents.Add();
            /*Метод PasteSpecial вставляет содержимое буфера. 
             * У метода имеется семь ссылочных параметров, все из которых являются необязательными. 
             * Следующий код задает аргументы для двух из них: 
             * Link для создания ссылки на исходное содержимое буфера и DisplayAsIcon для отображение ссылки в виде значка. 
             * В Visual C# 2010 можно использовать именованные аргументы для этих двух параметров и опустить остальные аргументы.
             * Хотя эти параметры являются ссылочными, 
             * использовать ключевое слово ref или создавать переменные для передачи аргументов не требуется.
             * Значения можно передать напрямую. 
            */
            wordApp.Selection.PasteSpecial(Link: true, DisplayAsIcon: true);
        }
    }
    //Класс для Пользователей, таблица 2 на 2
    public class Student
    {
        public int ID { get; set; }
        public string FirstName { get; set; }
        public string Name { get; set; }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.05.2012, 19:59
Ответы с готовыми решениями:

Создание списка из значений цикла
Необходимо, чтобы значения, полученные из цикла переходили в список. Проблема заключается в том, что значения вводятся в консоль через...

Программа внесения элементов односвязного списка
Дан список. После каждого элемента списка добавить ту часть списка, которая была перед ним.

Excel 2010 Создание журнала внесения изменений
Здравствуйте! Нарисовалась еще одна проблема! Задача состоит в следующем: есть таблица, с ней работают несколько человек. После того,...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.05.2012, 19:59
Помогаю со студенческими работами здесь

Создание списка, печать списка на экран, добавления элемента в начало списка, конец списка
Построить динамическую структуру типа список . Необходимо реализовать следующие процедуры: 1. создание списка. 2. печать списка на...

Создание цикла для Minerr
Добрый день. Задача следующая - есть система нелинейных уравнений (четыре) и ограничения (еще несколько неравенств). Решаю через Minerr. В...

ПО для просмотра exсel на Андроиде
Подскажите, пожалуйста, какая программа открывает на Андроиде екселевские файлы со всем функционалом. Поясню - в файле есть группировки...

Создание цикла с условием (для интерполяции)
Здравствуйте! Мне нужно сделать интерполяцию, с математической точки зрения я додумалась, но как это перевести в маткад - понятия не...

Создание цикла для упрощения кода
есть часть кода,в которой реализуется расчёт каких либо переменных. кто подскажет как реализвать цикл,именно для таких расчётов. трудность...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru