Слайд 2Средства создания отчетов
Обычные офисные средства, такие, как Microsoft Office, с
интегрированными возможностями для извлечения данных. (VSTO или технология COM)
Microsoft Reporting
Services
Crystal Reports for Microsoft Visual Studio .NET
Слайд 4Технология COM
(Component Object Model — компонентная объектная модель), разработанная компанией
Microsoft и применяемая в Visual Basic, позволяет использовать в разработке
приложений возможности других программ, поддерживающих данную модель, таких, например, как программы, входящие в пакет Microsoft Office.
Из приложений, созданных в Visual Basic, можно передавать данные в Excel или Word для формирования документов и их печати, построения диаграмм и графиков, а также получать данные из этих программ.
Слайд 51. Подключение библиотек
Project ? Add Reference ? закладка COM ?
выбрать необходимую библиотеку, например, Microsoft Excel 11.0 Objecl Library
(Цифра
11 обозначает установленную на компьютере версию Microsoft Excel (11 соответствует версии Microsoft Office 2003). )
Слайд 72. Ссылка на пространство имен (для удобства)
Imports Microsoft.Office.Interop,
где Interop (
от англ.Interoperation)
Слайд 83. Создание необходимых объекты – экземпляров класса
Объектная модель Excel
Слайд 9Объект Application –приложение Excel
Слайд 12Объект Application - Программно в VisualStudio
Dim ЗадайтеИмяПеременнойExcel As New Excel.Application
ИмяПеременнойExcel.Visible
= True
Слайд 17Объект WorkBook - Программно в VisualStudio
Dim ЗадайтеИмяПеременнойРабочейКниги As Excel.Workbook
ИмяПеременнойРабочейКниги =
ИмяПеременнойExcel.Workbooks.Add
Слайд 21Объект WorkSheet - Программно в VisualStudio
Dim ЗадайтеИмяПеременнойРабочегоЛиста As New Excel.Worksheet
ИмяПеременнойРабочегоЛиста
=
ИмяПеременнойРабочейКниги.Worksheets(1)
ИмяПеременнойРабочегоЛиста.Activate()
Слайд 22Объекты Range, Cell - диапазон ячеек и ячейка
Слайд 26Объекты Range, Cell - Программно в VisualStudio
ИмяПеременнойРабочегоЛиста.Cells(1, 1) = "Заказы“
ИмяПеременнойРабочегоЛиста.Range("a1").Value
= “Заказы"
ИмяПеременнойРабочегоЛиста.Range("a1:c2").Font.Bold = True
ИмяПеременнойРабочегоЛиста.Range("a1:c2").Font.Size
= 16
Слайд 27Итого “Cоздание отчета БД в Excel”
Подключить библиотеки Microsoft Excel 11.0
Object Library (Project ?Add Reference?закладка COM)
Добавить ссылку на пространство имен
Объявить
и создать объекты Excel.Application, Excel.WorkBook, Excel.WorkSheet
Слайд 28Программно или мастером создать автономный или подключенный объект ADO для
получения данных из БД.
Программно выгрузить из объекта ADO данные в
Excel-ячейки рабочего листа объекты Range или Cells.
Если необходимо вызвать команду для завершения приложения (если вы не хотите, чтобы оно продолжало работать). Например: xlApp.Quit()
Слайд 29Пример 1 -
Использоване функцй Excel в приложении VS
Слайд 31Подключить библиотеки, добавить ссылку на пространство имен
Подключить библиотеки Microsoft Excel
11.0 Object Library, System.Math
Добавить в код
Imports Microsoft.Office.Interop.Excel
Слайд 32Обработчик на кн. «Вычислить»
Dim xlApp As New Excel.Application
Dim L As
Single
L = xlApp.WorksheetFunction.Pmt _ (txtbox1.Text / 12, txtbox2.Text, txtbox3.Text)
MsgBox("Платеж за
месяц =" & CStr(L))
xlApp.Quit()
Слайд 33Пример 2
Работа с рабочими листами
Слайд 35Обработчик на кнопку
Dim xlApp As New Excel.Application
xlApp.Visible = True
Dim xlBook
As Excel.Workbook
xlBook = apExcel.Workbooks.Add
Dim xlSheet As New Excel.Worksheet
xlSheet = xlBook b.Worksheets(1)
xlSheet.Activate()
Слайд 36Обработчик на кнопку
'Добавляем данные
xlSheet.Cells(1, 2) = 5000
xlSheet.Cells(2, 2) = 75
xlSheet.Cells(3,
1) = "Всего”
'Вводим в ячейку B3 формулу Sum
xlSheet.Range("B3").Formula = "=Сумм(B1:B2)“
‘Форматируем
ячейку B3 жирным шрифтом
xlSheet.Range("B3").Font.Bold = True
'Отображаем лист
xlSheet.Application.Visible = True
'Сохраняем лист в папке c:\vbnet
xlSheet.SaveAs("C:\vbnet\myexcelsheet.xls")
Слайд 37Пример 3
Создание отчета для таблицы Модели в Excel
Слайд 39Обработчик
Dim xlApp As New Excel.Application
xlApp.Visible = True
Dim xlBook As Excel.Workbook
xlBook = apExcel.Workbooks.Add
Dim xlSheet As New Excel.Worksheet
xlSheet =
xlBook b.Worksheets(1)
xlSheet.Activate()
Слайд 40Обработчик
xlSheet.Cells(1, 1).Value = "Таблица модель"
'Форматируем ячейку жирным шрифтом
xlSheet.Range("a1").Font.Bold = True
xlSheet.Cells(2, 1)
= "Код модели"
xlSheet.Cells(2, 2) = "Название"
xlSheet.Cells(2, 3) = "Цена"
Слайд 41Обработчик
Dim cn As New SqlConnection
Dim strsql
As String
cn.ConnectionString = " …"
strsql = " select * from модель"
cn.Open()
Dim cmd As New SqlCommand(strsql, cn)
Dim rdr As SqlDataReader = cmd.ExecuteReader()
Слайд 42Обработчик
Dim i As Integer = 3
While
rdr.Read
'Добавляем данные
xlSheet.cells(i, 1) = rdr("код_модели")
xlSheet.cells(i, 2) = rdr("название_модели")
xlSheet.cells(i, 3) = rdr("цена")
i = i + 1
End While
Слайд 43Обработчик
'Отображаем лист
xlSheet.Application.Visible = True
cn.Close()