Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 30.09.2015
Сообщений: 21
1

Выгрузка данных в Excel

13.03.2018, 19:58. Просмотров 1799. Ответов 12

Здравствуйте!
Помогите реализовать выгрузку данных в Excel.
Задумка такая. Есть форма, на ней DGV и два dateTimePicker (на одном выбирается дата начальная на другом конечная), после выбора дат данные отображаются на DGV при нажатии кнопки. При нажатии другой кнопки данные которые находятся в DGV выгружаются в Excel.
У меня не получается привязать dateTimePicker к DGV. Находила на форуме код, но у меня он не работает, DGV ничего не выводит. Привожу пример формы.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
SqlConnection con = new SqlConnection(ConnectionString);
            con.Open();
            SqlCommand cmd = new SqlCommand();
 
            DateTime dvp = Convert.ToDateTime(dateTimePicker1.Value);
            cmd.Parameters.Add("dvp", SqlDbType.SmallDateTime);
            cmd.Parameters["dvp"].Value = Convert.ToDateTime(dvp);
 
            DateTime dvp1 = Convert.ToDateTime(dateTimePicker1.Value);
            cmd.Parameters.Add("dvp1", SqlDbType.SmallDateTime);
            cmd.Parameters["dvp1"].Value = Convert.ToDateTime(dvp1);
 
            cmd.Connection = con;
            cmd.CommandText = "select * from Nar_DL_UL where Vruch_Post between @dvp and @dvp1";
            cmd.CommandType = CommandType.Text;
          
            cmd.ExecuteNonQuery();
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = cmd;
            DataSet ds = new DataSet();
            da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
            con.Close();
0
Миниатюры
Выгрузка данных в Excel  
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2018, 19:58
Ответы с готовыми решениями:

Выгрузка данных из БД в excel
Итак есть вывод данных в excel но она заполняется с перовой строчки, а нужно что б началась...

Выгрузка данных в Excel из Datatable
Долго мучался, в итоге имею следующее: ошибки и код. Подскажи пожалуйста в чем ошибки, почему код...

Выгрузка данных в Excel на стороне клиента
Здравствуйте. Подскажите пожалуйста как выгружать данные из бд в excel таким образом, чтобы...

Выгрузка содержимого dataGridView в Excel
Находил вот этот пример на форуме, он работает, но в эксель записываются только значения столбцов и...

12
681 / 543 / 242
Регистрация: 04.08.2015
Сообщений: 1,497
14.03.2018, 11:07 2
Olesya1, для dateTimePicker "Если свойство Value не было изменено программным кодом или пользователем, ему присваивается значение текущей даты и времени".
https://msdn.microsoft.com/ru-... s.90).aspx
Т.к. вы выбрали 2 даты с интервалом в несколько секунд, то запрос будет браться в этом диапазоне с учетом секунд.
0
0 / 0 / 0
Регистрация: 30.09.2015
Сообщений: 21
14.03.2018, 21:04  [ТС] 3
Не, я выбираю первоначальную дату и конечную. То что приведено на форме это просто пример. Или я вас просто не поняла...
0
681 / 543 / 242
Регистрация: 04.08.2015
Сообщений: 1,497
14.03.2018, 22:03 4
Копипаст - зло)
Цитата Сообщение от Olesya1 Посмотреть сообщение
DateTime dvp = Convert.ToDateTime(dateTimePicker1.Value);
Цитата Сообщение от Olesya1 Посмотреть сообщение
DateTime dvp1 = Convert.ToDateTime(dateTimePicker1.Value);
1
0 / 0 / 0
Регистрация: 30.09.2015
Сообщений: 21
15.03.2018, 18:47  [ТС] 5
Цитата Сообщение от Igr_ok Посмотреть сообщение
Копипаст - зло)
Спасибо за замечание, ошибку исправила, но все равно не выводит записи...
0
681 / 543 / 242
Регистрация: 04.08.2015
Сообщений: 1,497
16.03.2018, 10:22 6
Olesya1, эти 2 строки лишние
Цитата Сообщение от Olesya1 Посмотреть сообщение
C#
1
2
cmd.CommandType = CommandType.Text;//При создании нового SqlCommand это значение по умолчанию
cmd.ExecuteNonQuery();//Бессмысленное действие. На сервере выполняется запрос, но данные не возвращаются
Можно придумать много способов, как добиться полученного вами эффекта, но проще взглянуть на проект.
1
0 / 0 / 0
Регистрация: 30.09.2015
Сообщений: 21
16.03.2018, 22:21  [ТС] 7
Цитата Сообщение от Igr_ok Посмотреть сообщение
Olesya1, эти 2 строки лишние. Можно придумать много способов, как добиться полученного вами эффекта, но проще взглянуть на проект.
Строки убрала..в личку кинула часть проекта

Добавлено через 49 минут
Цитата Сообщение от Igr_ok Посмотреть сообщение
Olesya1, эти 2 строки лишниеМожно придумать много способов, как добиться полученного вами эффекта, но проще взглянуть на проект.
Все разобралась...это все моя невнимательность...я использовала в запросе поле которое имеет значение int, вот и не выдавало ничего....но все равно спасибо большое за ваши замечания)))) не понятно почему не вылетала ошибка..
А еще вот такой вопрос, может он простяцкий...А как сделать что бы при выборе даты, значения выводились начиная с этой даты включительно???

Добавлено через 24 минуты
Еще один вопрос.
Есть dateTimePicker1, на нем выбирается дата, в это время в другом dateTimePicker2 дата меняется относительно выбранной в dateTimePicker1 на три месяца вперед. Как это сделать подскажите пожалуйста))))
C#
1
2
3
dateTimePicker2.Value = dateTimePicker1.Value ; //при выборе даты в dateTimePicker1 дата дублируется в dateTimePicker2
//как связать эти выражения можно??
dateTimePicker2.Value = DateTime.Today.AddMonths(+3); //от текущей даты на 3 месяца вперед
0
681 / 543 / 242
Регистрация: 04.08.2015
Сообщений: 1,497
16.03.2018, 23:43 8
Olesya1, используйте событие DateTimePicker.ValueChanged
C#
1
2
3
4
private void DateTimePicker1_ValueChanged(Object sender, EventArgs e) 
{
   dateTimePicker2.Value=...
}
1
0 / 0 / 0
Регистрация: 30.09.2015
Сообщений: 21
17.03.2018, 05:06  [ТС] 9
Цитата Сообщение от Igr_ok Посмотреть сообщение
Olesya1, используйте событие DateTimePicker.ValueChanged
C#
1
2
3
4
private void DateTimePicker1_ValueChanged(Object sender, EventArgs e) 
{
   dateTimePicker2.Value=...
}
Если это ответ на мой второй вопрос, то я как раз и использую это событие.
"Есть dateTimePicker1, на нем выбирается дата, в это время в другом dateTimePicker2 дата меняется относительно выбранной в dateTimePicker1 на три месяца вперед. Как это сделать подскажите пожалуйста))))"
0
681 / 543 / 242
Регистрация: 04.08.2015
Сообщений: 1,497
17.03.2018, 09:50 10
C#
1
dateTimePicker2.Value=dateTimePicker1.Value.Today.AddMonths(3);
1
0 / 0 / 0
Регистрация: 30.09.2015
Сообщений: 21
19.03.2018, 15:19  [ТС] 11
Цитата Сообщение от Igr_ok Посмотреть сообщение
C#
1
dateTimePicker2.Value=dateTimePicker1.Value.Today.AddMonths(3);
У меня не получается сделать так как вы написали...выдает ошибку "доступ к члену Sistem.DateTime.Today.get через ссылку на экземпляр невозможен; вместо этого уточните его указав имя типа."
0
681 / 543 / 242
Регистрация: 04.08.2015
Сообщений: 1,497
19.03.2018, 15:29 12
Лучший ответ Сообщение было отмечено Olesya1 как решение

Решение

Olesya1, это я неудачно скопировал ваш пример)
C#
1
dateTimePicker2.Value=dateTimePicker1.Value.AddMonths(3);
1
1239 / 948 / 133
Регистрация: 01.10.2009
Сообщений: 2,898
Записей в блоге: 1
19.03.2018, 15:49 13
Igr_ok,

Не по теме:

Копипаст - зло)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2018, 15:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Запись данных в базу данных SQL и выгрузка таблицы в форму
Нужно сделать 2 формы, одну с несколькими textBox'ами, чтобы при нажатии кнопки информация...

Выгрузка CSV в Excel
Есть файл txt в нем данные в формате csv. Если этот файл открывать с помощью Excel c разделителем...

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

Выгрузка данных в Excel
Добрый день! Посмотрите пожалуйста. Есть в обработке таблица значений, в которую я выгружаю данные...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.