VB2010 работа с ексель 2007

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

lil147
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 21.11.2012 (Ср) 6:33

VB2010 работа с ексель 2007

Сообщение lil147 » 21.11.2012 (Ср) 6:49

Помогите пожалуйста кто чем может.
Как организовать запись в ексель одного параметра допустим из Label или TextBox c формы VB,
продолжительное время "24часа" и построить по этим показаниям временной график "загрузки".

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 21.11.2012 (Ср) 7:46

Для создания xlsx-файла можно использовать OpenXml. Open Xml Productivity Tool позволяет сгенерировать C#-код на основе xlsx-файла.

lil147
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 21.11.2012 (Ср) 6:33

Re: VB2010 работа с ексель 2007

Сообщение lil147 » 21.11.2012 (Ср) 11:21

Немножко не удачно задал вопрос.
Информацию в ексель я скидываю и тут же получаю точку на гистограмме, но мне нужно эту точку контролировать постоянно и по ней при запросе построилась бы гистограмма
фрагмент проги
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim app As New Microsoft.Office.Interop.Excel.Application
Dim book As Microsoft.Office.Interop.Excel.Workbook = app.Workbooks.Add()
Dim sheet As Microsoft.Office.Interop.Excel.Worksheet = book.ActiveSheet
sheet.Range("A1").Value = TextBox1.Text
app.Visible = True
Dim xlColumnClustered = 66
sheet.Range("A1").Select()
sheet.Shapes.AddChart.Select()
book.ActiveChart.SetSourceData(sheet.Range("Лист1!$A$1"))
book.ActiveChart.ChartType = xlColumnClustered

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 21.11.2012 (Ср) 16:08

lil147 писал(а):Информацию в ексель я скидываю и тут же получаю точку на гистограмме, но мне нужно эту точку контролировать постоянно и по ней при запросе построилась бы гистограмма

Что за извращение? Не лучше на собственной форме строить график?
По идее, Excel должен сам обновлять график. Если он этого не делает, попробуй включить перерисовку или вызывать перерассчёт листа явно (не знаю как; если делать руками, то клавиша F9).

PS: Код надо заключать в тег [code].

lil147
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 21.11.2012 (Ср) 6:33

Re: VB2010 работа с ексель 2007

Сообщение lil147 » 22.11.2012 (Чт) 5:20

конечно рисовать на форме может и лучше, но кусочек приведён на один параметр а их будет в конечном итоге 48.
Они будут заноситься в протокол. По каждому параметру свой, и гистограмма загрузки по каждому параметру вырисовываться должна с 00.00 часов до 24.00.
Храниться должно 48 часов,а после автоматически стираться и так в цикле.
Пока не могу понять тонкости.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 22.11.2012 (Чт) 6:32

Как это связано с постороением realtime-графика в Excel'е?

lil147
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 21.11.2012 (Ср) 6:33

Re: VB2010 работа с ексель 2007

Сообщение lil147 » 22.11.2012 (Чт) 10:30

Вот тоже думаю и советуюсь с профи как это сделать.
Опрос сделал каждую секунду, т.е. параметры получаю в реальном времени и всю кучу , но если их отправлять в эксель и записывать в ячейки, а потом по этим результатам строить гистограмму, то 24 часа будет записано уйма ячеек.
Потом запись нужно делать при закрытой книге1 эксель и каждые15-20 минут- заносится данные на лист1, а на листе2 строится гисторрамма по каждому параметру.
Охото, чтобы и в реальном времени всё осталось и каждые 15-20 мин записывалось в эксель.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 22.11.2012 (Чт) 11:10

Я не понимаю, зачем Excel тут вообще нужен. Строить графики на своей форме, если нужна гарантия, что данные не пропадут (например из-за какого-то сбоя), ещё скидывать в лог. Потом (раз в сутки, или как там тебе надо) создавать xlsx-отчёт за требуемый период. Подходит?

Shurrik
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 110
Зарегистрирован: 20.05.2004 (Чт) 5:35
Откуда: Керчь, Крым

Re: VB2010 работа с ексель 2007

Сообщение Shurrik » 23.11.2012 (Пт) 7:41

Как вариант решения проблемы могу предложить сделать так:
Программа пишет данные в файл (можно *.txt).
Документ EXCEL с помощью макроса читает файл и строит график либо при открытиии, либо по кнопке, либо по таймеру.
Колесо: Хочешь жить? Умей вертеться.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 23.11.2012 (Пт) 11:47

Shurrik писал(а):Как вариант решения проблемы могу предложить сделать так:
Программа пишет данные в файл (можно *.txt).
Документ EXCEL с помощью макроса читает файл и строит график либо при открытиии, либо по кнопке, либо по таймеру.

Зачем?
Программа держит данные в памяти и (на всякий случай) записывает в txt.
При необходимости (раз в час/сутки) создаётся xlsx-файл.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList