Очень требуется помощь для начинающего. Срочно. Ситуация следующая.
Microsoft Visual C# 2005 Express Edition. Имеется код, запрашивающий из access'а и выводящий в datagridview данные, отсортированные в соответствии с введенными критериями (дата, имя филиала и т.п.). Колонок приблизительно 14.
Нужно создать кнопку, после нажатия которой данные из datagridview будут экспортироваться в excel, т.е. открывается excel, записыаются данные, excel остается открытым для просмотра.
Ну или можно каким-то образом в текстовый файл. Но предпочтительнее первое. Желательно не через консоль.
Просьба описать более-менее подробно, что и как. Приведите код, пожалуйста, если несложно.
Код следующий:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string data = textBox1.Text;
string pryamie_prodaji = textBox2.Text;
string mestnie_prodaji = textBox3.Text;
string prodaji_cherez_filial = textBox4.Text;
string pryamie_prodaji_cherez_filial = textBox5.Text;
string str = "";
if (data != "") { str += "(data='" + data+ "') "; }
if (pryamie_prodaji != "") { str += "(pryamie_prodaji='" + pryamie_prodaji + "') "; }
if (mestnie_prodaji != "") { str = str + "(mestnie_prodaji='" + mestnie_prodaji + "') "; }
if (prodaji_cherez_filial != "") { str = str + "(prodaji_cherez_filial='" + prodaji_cherez_filial + "')"; }
if (pryamie_prodaji_cherez_filial != "") { str = str + "(pryamie_prodaji_cherez_filial='" + pryamie_prodaji_cherez_filial + "')"; }
if (str != "" && pryamie_prodaji_cherez_filial != "") { str = str + "pryamie_prodaji_cherez_filial=" + pryamie_prodaji_cherez_filial; }
if (str != "" && pryamie_prodaji_cherez_filial == "")
{
}
dannieBindingSource1.Filter = str;
this.dannieTableAdapter1.Fill(this.db2DataSet1.dannie);
}
private void button2_Click(object sender, EventArgs e)
{
}
}
}
Спасибо.
P.S. Сильно не бейте, если похожую тему не нашел или неправильно изъяснил...
Здравствуйте, Drakon2517, Вы писали:
D>Очень требуется помощь для начинающего.
Ну раз для начинающего, то изучать все прелести Microsoft Ofice Interop Не советую. Проще всего записать файл в формате CSV и запустить его.
Форматирование ячейкам так, конечно,не задашь, но пишется это за пол-часа и как раз по силам начинающему.
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, Drakon2517, Вы писали:
D>>Очень требуется помощь для начинающего.
A>Ну раз для начинающего, то изучать все прелести Microsoft Ofice Interop Не советую. Проще всего записать файл в формате CSV и запустить его. A>Форматирование ячейкам так, конечно,не задашь, но пишется это за пол-часа и как раз по силам начинающему.
Спасибо за совет, но хотелсоь все таки бы код в помощь, чтобы разобраться. Просто, я только-только начал, а времени не очень много...
Здравствуйте, Drakon2517, Вы писали:
D>Здравствуйте, adontz, Вы писали: D>Спасибо за совет, но хотелсоь все таки бы код в помощь, чтобы разобраться. Просто, я только-только начал, а времени не очень много...
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, Drakon2517, Вы писали:
D>>Здравствуйте, adontz, Вы писали: D>>Спасибо за совет, но хотелсоь все таки бы код в помощь, чтобы разобраться. Просто, я только-только начал, а времени не очень много...
A>CSV это Comma Separated Values. A>Вот пример файла A>
A>1;a;12.11.2007
A>2;b;11.11.2007
A>3;c;13.09.2005
A>4;d;06.08.2002
A>5;e;05.06.2007
A>6;f;02.07.2001
A>7;g;08.09.2000
A>8;h;06.04.2002
A>
Да, как выглядит cvs файл, я знаю. Я имел ввиду код с#...
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, Drakon2517, Вы писали:
D>>Да, как выглядит cvs файл, я знаю. Я имел ввиду код с#...
A>М-м-м. А какие проблемы с записью подобного файла?
Ну проблемы в том, что я пока плохо разбираюсь в синтаксисе и функциях...
И в том, что не знаю, что писать в коде кнопки...
Здравствуйте, Drakon2517, Вы писали:
D>Ну проблемы в том, что я пока плохо разбираюсь в синтаксисе и функциях... D>И в том, что не знаю, что писать в коде кнопки...
D>
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, Drakon2517, Вы писали:
D>>Ну проблемы в том, что я пока плохо разбираюсь в синтаксисе и функциях... D>>И в том, что не знаю, что писать в коде кнопки...
D>>
A>Ну академического образования форум не заменит. Почитай книжку по C#/.Net. И переименуй кнопку в _buttonSave, потому что культура программирования...
Я и не пытаюсь получить здесь академическое образование. Пытаюсь получить то же, что и все, как мне думается... Но, к сожалению, пока помощи не получаю...
Пустой разговор.
Здравствуйте, Drakon2517, Вы писали:
D>Очень требуется помощь для начинающего. Ситуация следующая.
D>Microsoft Visual C# 2005 Express Edition. Имеется код, запрашивающий из access'а и выводящий в datagridview данные, отсортированные в соответствии с введенными критериями (дата, имя филиала и т.п.). Колонок приблизительно 14. D>Нужно создать кнопку, после нажатия которой данные из datagridview будут экспортироваться в excel, т.е. открывается excel, записыаются данные, excel остается открытым для просмотра. D>Ну или можно каким-то образом в текстовый файл. Но предпочтительнее первое. Желательно не через консоль.
D>Просьба описать более-менее подробно, что и как. Приведите код, пожалуйста, если несложно.
Здравствуйте, Drakon2517, Вы писали:
A>>Ну академического образования форум не заменит. Почитай книжку по C#/.Net. И переименуй кнопку в _buttonSave, потому что культура программирования...
D>Я и не пытаюсь получить здесь академическое образование. Пытаюсь получить то же, что и все, как мне думается... Но, к сожалению, пока помощи не получаю...
То что ты просишь — это не помощь, это сделать за тебя все:. Помочь тут многим интересно — а вот делать за тебя твою работу будет интересно очень немногим.
Если создать CSV файл пока сложно — то вот другое просто решение — (1) выделяешь ячейки с данными в DataGridView и (2) копируешь эти данные в буфер обмена. (3) В Excel нажимаешь кнопку "Вставить/Paste" (CTRL+v) и данные оказываются там где нужно.
Здравствуйте, Igor Sukhov, Вы писали:
IS>Здравствуйте, Drakon2517, Вы писали:
A>>>Ну академического образования форум не заменит. Почитай книжку по C#/.Net. И переименуй кнопку в _buttonSave, потому что культура программирования...
D>>Я и не пытаюсь получить здесь академическое образование. Пытаюсь получить то же, что и все, как мне думается... Но, к сожалению, пока помощи не получаю...
IS>То что ты просишь — это не помощь, это сделать за тебя все:. Помочь тут многим интересно — а вот делать за тебя твою работу будет интересно очень немногим.
Да нет, всего я не прошу сделать. Помощь у вас заключается в том, чтобы просто поумничать, побеседовать теоретически и довольно абстрактно... Как мне думается, получить такую помощь хочется очень немногим. Вот яркий пример. Из 5-ти сообщений ни одного дельного совета. Разговоры ни о чем. Ни одной строчки кода в качестве примера — я не думаю, что это действительно знающему человеку сложно сделать...
IS>Если создать CSV файл пока сложно — то вот другое просто решение — (1) выделяешь ячейки с данными в DataGridView и (2) копируешь эти данные в буфер обмена. (3) В Excel нажимаешь кнопку "Вставить/Paste" (CTRL+v) и данные оказываются там где нужно.
Здравствуйте, Drakon2517, Вы писали:
IS>>То что ты просишь — это не помощь, это сделать за тебя все:. Помочь тут многим интересно — а вот делать за тебя твою работу будет интересно очень немногим.
D>Да нет, всего я не прошу сделать. Помощь у вас заключается в том, чтобы просто поумничать, побеседовать теоретически и довольно абстрактно... Как мне думается, получить такую помощь хочется очень немногим. Вот яркий пример. Из 5-ти сообщений ни одного дельного совета. Разговоры ни о чем. Ни одной строчки кода в качестве примера — я не думаю, что это действительно знающему человеку сложно сделать...
Тебе уже помогли — несколько человек подсказали как минимум три примера как это сделать — напрямую через Interop, загружая CSV файл с даными или через буфер обмена. Вместо того чтобы попробывать тебе предложенное, ты пытаешься нам доказать что это не помощь — что помощь — это строчки кода.
IS>>Если создать CSV файл пока сложно — то вот другое просто решение — (1) выделяешь ячейки с данными в DataGridView и (2) копируешь эти данные в буфер обмена. (3) В Excel нажимаешь кнопку "Вставить/Paste" (CTRL+v) и данные оказываются там где нужно.
D>Умный?
Я? Да!
D>Юмор?
Это не юмор — это работающее решение. Мои образчики юмора можно найти в форуме "Коллеги улыбнитесь".
D> Убедительно прошу — обойтись без пальцев.
ps: Цитируйте пожалуйста экономнее — сообщение собеседника полностью включать свой ответ не следует.
Здравствуйте, Drakon2517, Вы писали:
D>Да нет, всего я не прошу сделать. Помощь у вас заключается в том, чтобы просто поумничать, побеседовать теоретически и довольно абстрактно... Как мне думается, получить такую помощь хочется очень немногим. Вот яркий пример. Из 5-ти сообщений ни одного дельного совета. Разговоры ни о чем. Ни одной строчки кода в качестве примера — я не думаю, что это действительно знающему человеку сложно сделать...
Здравствуйте, adontz, Вы писали:
A>А ты вообще почитай форум и посмотри сколько строчек кода встречается в полезных ответах.
Читал. Нашел достаточно. Полезность бывает и разная для каждого, а не только для всех одинаковая...
A>А ещё почитай http://www.rsdn.ru/Info/Howtoask.xml
Читал. Правильно, хотя местами нудно... Но не в тех, которых тебе может показаться...
Здравствуйте, Drakon2517, Вы писали:
D>Но не в тех, которых тебе может показаться...
Откуда тебе знать, что мне кажется?
Пpишел мужик на пляж. Hаpоду — никого. Разделся догола и поплыл. Hакупался, подплывает к беpегу, а возле его белья девушка сидит и книгу читает. Что делать? Hыpнул он опять в воду. Смотpит, на дне тазик лежит. Взял он его, загоpодил пеpед и подошел к девушке:
— Здpавствуй, пpекpасная девушка!
— Здpавствуйте.
— Что делаем?
— Да вот, книгу читаю, — отвечает она.
— А пpо что книга?
— Да как мысли угадывать.
— А что сейчас я думаю? — спpашивает он.
— Вы думаете, что у тазика есть дно.
Здравствуйте, Igor Sukhov, Вы писали:
IS>Тебе уже помогли — несколько человек подсказали как минимум три примера как это сделать — напрямую через Interop, загружая CSV файл с даными или через буфер обмена. Вместо того чтобы попробывать тебе предложенное, ты пытаешься нам доказать что это не помощь — что помощь — это строчки кода.
Попробовать мне предложенное я могу в том случае, если я предполагаю как. Но поскольку я указал, что начинающий и поскольку обратился сюда, вероятно, что вряд ли.
Про твой буфер обмена... Может ты и читал... "Нужно создать кнопку"... Ну, да ладно...
"Вам" я не собирался и не собираюсь ничего доказывать. Не вижу в этом смысла.
D>>Умный? IS>Я? Да!
Это был риторический вопрос, в ответ на который у меня есть свое мнение
D>>Юмор? IS>Это не юмор — это работающее решение. Мои образчики юмора можно найти в форуме "Коллеги улыбнитесь".
Не думаю, что там что-то стоящее.
D>> IS> Убедительно прошу — обойтись без пальцев.
К чему они здесь тогда? Есть? Значит, могу и с ними.
IS>ps: Цитируйте пожалуйста экономнее — сообщение собеседника полностью включать свой ответ не следует.
OK.
Здравствуйте, Drakon2517, Вы писали: D>>Просьба описать более-менее подробно, что и как. Приведите код, пожалуйста, если несложно.
D>Вопрос актуален. Может кто знает его решение?
Если вам нужен готовый код, то вам наверное нужно купить( или скачать) книгу C#. Сборник рецептов. Агуров П.В. В ней есть примеры практически на все случаи жизни, даже и про эксель примеры есть...
P.S. А поисковики помогли бы, через минуту поиска Яндекс мне выдал например такую ссылку