Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
8 / 8 / 2
Регистрация: 11.01.2013
Сообщений: 157
1

Работа с Excel из консоли

16.03.2016, 19:07. Показов 6076. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую.
Хотелось бы поинтересоваться как работать с excel из консоли.
т.е. есть класс он имеет переменные типа иван васильевич васильев, г.р. и т.д.
Как все это запихать в excel таблицу. Просто создать и записать в файл с расширением xsl не подходит.
Нужно конкретно по столбцами, строкам и как потом считать все это.

За ранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2016, 19:07
Ответы с готовыми решениями:

Клавиши F1-F12 в консоли, и работа с мышкой в консоли
Я искал на сайте, но не нашел упоминания о том как обрабатывать и или узнавать где находится курсор...

Текст из консоли записать в Excel
Вообщем, имеется текст в консоли, как записать его в excel?

Работа с документами Excel без Microsoft.Office.Interop.Excel
всем добрый день все дело в том что для своих программ я использую БД Excel но! однако не все...

Работа с Excel через Microsoft.Office.Interop.Excel
Необходимо реализовать програмку взаимодействующую с Excel в режиме реального времени. Проблем...

11
94 / 94 / 36
Регистрация: 01.10.2014
Сообщений: 229
16.03.2016, 19:43 2
Есть 2 варианта:
1. Используя ADO.Net. Подключаетесь к файлу и дальше работаете как с базой данных - открыли подключение с помощью SQL запроса считали/записали данные. Закрыли подключение и работаете с данными. В этом случае вы просто работает записываете/читаете данные из Excell без его форматирования.
2. Используя COM через библиотеку System.Runtime.InteropServices, если необходимо файл эксель делать "красивым" (ширина столбцов, краски, шрифты, формулы и т.д.).

Добавлено через 1 минуту
Мне больше первый вариант нравиться. С каким способам пример показать?
1
8 / 8 / 2
Регистрация: 11.01.2013
Сообщений: 157
17.03.2016, 18:13  [ТС] 3
Спасибо за ответ.
Нельзя ли бы небольшой пример.
0
94 / 94 / 36
Регистрация: 01.10.2014
Сообщений: 229
17.03.2016, 20:19 4
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
using System.Data.OleDb;
 
namespace ConsoleApplication38
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=f:/1.xlsx; Extended Properties=" + ""Excel 12.0;HDR=YES;""))
                {
                    conn.Open();
 
                    //Вставка данных
                    OleDbCommand commInsert = new OleDbCommand("Insert into [Лист1$] (Id,Name,Age) Values (@id,@name,@age)",conn);
                    commInsert.Parameters.AddWithValue("@id",100);
                    commInsert.Parameters.AddWithValue("@name", "NewName");
                    commInsert.Parameters.AddWithValue("@age", 100);
 
                    commInsert.ExecuteNonQuery();
 
                    //чтение данных
                    OleDbCommand command1 = new OleDbCommand("Select * from [Лист1$]",conn);
                    OleDbDataReader dr= command1.ExecuteReader();
 
                    while (dr.Read())
                    {
                        Console.WriteLine(dr[0] + "\t" + dr[1] + "\t" + dr[2]);
                    }
                    dr.Close();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
    }
}
Добавлено через 1 минуту
Подключаемся к файлу Excel, в котором на листе1 находится таблица с 3 столбцами. Первая строка будет являться названием столбцов. Каждый лист Excell файла является таблицей, а сам файл - базой данных.
2
8Observer8
18.03.2016, 12:49
  #5

Не по теме:

SailarmoonKS, я не ожидал, что с помощью этой новой для меня технологии можно так легко работать с Excel. Я, скрестив пальцы, надеюсь, что я не зря сейчас изучаю LINQ и его можно будет объединить с ADO и Excel.

0
94 / 94 / 36
Регистрация: 01.10.2014
Сообщений: 229
18.03.2016, 15:42 6
8Observer8, для ado.net - это LINQ to DataSet. Но учтите, что в данном примере форматирование excel файла не происходит - просто работа с данными (вставить, удалить, прочитать, обновить...). Для форматирования уже надо применять библиотеку System.Runtime.InteropServices
1
8 / 8 / 2
Регистрация: 11.01.2013
Сообщений: 157
18.03.2016, 15:49  [ТС] 7
Спасибо за ответ.

А нельзя ли как для особо одаренных? Переменная conn помечается как не объявленная.
0
94 / 94 / 36
Регистрация: 01.10.2014
Сообщений: 229
18.03.2016, 16:11 8
koto_fey, переменная conn создается в конструкции using - это означает, что для данного объекта обязательно вызовится в конце конструкции(если не было исключений) метод закрытия подключения, а если было исключение, то все равно вызовится. Также в конструктор объекта подключения передается строка подключения к нашему xlsx файлу
0
Master of Orion
Эксперт .NET
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
18.03.2016, 16:35 9
SailarmoonKS, 3. Использовать OpenXML (или более удобную обертку ClosedXML) Лично моё предпочтение.
Цитата Сообщение от SailarmoonKS Посмотреть сообщение
Есть 2 варианта:
1. Используя ADO.Net. Подключаетесь к файлу и дальше работаете как с базой данных - открыли подключение с помощью SQL запроса считали/записали данные. Закрыли подключение и работаете с данными. В этом случае вы просто работает записываете/читаете данные из Excell без его форматирования.
2. Используя COM через библиотеку System.Runtime.InteropServices, если необходимо файл эксель делать "красивым" (ширина столбцов, краски, шрифты, формулы и т.д.).
3. Использовать OpenXML (или более удобную обертку ClosedXML) Лично моё предпочтение.

Добавлено через 1 минуту
Хотя я как раз-таки занимался "красивостями", шрифты и т.п. - нужно было формировать доковский документ в красивом виде. Для работы с экселевскими данными может OLE даже удобнее.
1
8 / 8 / 2
Регистрация: 11.01.2013
Сообщений: 157
18.03.2016, 16:36  [ТС] 10
Мне нужно чтобы работало из консоли.
Т.е. есть дынные вводятся с клавиатуры, а потом при запросе создается файл и записываются туда.
0
94 / 94 / 36
Регистрация: 01.10.2014
Сообщений: 229
18.03.2016, 16:37 11
Psilon, Возьму на заметку )) Хорошая штука ))
0
8 / 8 / 2
Регистрация: 11.01.2013
Сообщений: 157
19.03.2016, 13:43  [ТС] 12
SailarmoonKS, Ваш пример не работает.
0
19.03.2016, 13:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2016, 13:43
Помогаю со студенческими работами здесь

Работа с Excel (нет доступа к пространству имен Excel)
Здравствуйте! У меня проблема в том, что я делаю все так как там, но выдает ошибку в строчках на...

Работа с Excel. Суть: Если номер строки в Excel четный тогда объеденяем эту ячейку с последующей.
Здравствуйте. Помогите, пожалуйста .Я вот в Delphi осуществляю работу с документов в Excel, как я...

Большая работа с Excel (передача в него данных, построение графиков, дозапись, создание нового файла Excel)
Всем участниками большой привет. Снова нужна помощь. Что имеем: -Имеем форму во вложении. на ней...

работа в консоли С++
Имеется массив. ОС - Win XP, работаю на платформе Visual C++6, в консоли, результат получаю в...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru