Как сделать так чтобы потом Эксель выгружался из процессов?
Можно спрятать чтобы не грузился Эксель, но в процессах всеравно не убивается.
Еще вопросик, как сделать так чтобы можно было править эту базу средствами программы (нужно раелизовать несколько колонок с забивкой туда данных), чтобы можно было сохранить данные сразу в ту же базу, которую я подгружаю.
Как реализовать подсчет некоторых данных прямо в листе?
Можно ли подсветить разным цветом разные строчки?
!!!!!!!код полностью рабочий!!!!
_________нагрузил конечно, но всеже просьба помочь______________
- Код: Выделить всё
'структура Строка-запись
Structure TLine
Public opDate As Date
Public Viddil As String
Public Operation As String
'можна додавати колонки
End Structure
Private ex As Excel.Application = Nothing
Dim Lines() As TLine
Dim LinesCount As Integer
Dim sa(3) As String 'сколько колонок столько и тут
Dim i, j As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ex = New Excel.Application
ex.Visible = True 'щооб Ексель став невидимий = False
' ListView1.View = View.Details
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim od As New OpenFileDialog
od.FileName = "*.xls"
If od.ShowDialog = DialogResult.OK Then
Dim wb As Excel.Workbook = ex.Workbooks.Open(od.FileName)
Dim sh As Excel.Sheets = wb.Worksheets
Dim sheet As Excel.Worksheet = sh.Item(2)
Dim range As Excel.Range
For j = 1 To 3
ListView1.Columns.Add(sheet.Cells(1, j).Value(), ListView1.Width / 3, HorizontalAlignment.Left)
Next
ListView1.BeginUpdate()
For i = 2 To 10
LinesCount = LinesCount + 1
ReDim Preserve Lines(LinesCount)
Lines(LinesCount - 1).opDate = sheet.Cells(i, 1).Value()
sa(0) = CStr(Lines(LinesCount - 1).opDate)
Lines(LinesCount - 1).Viddil = sheet.Cells(i, 2).Value()
sa(1) = Lines(LinesCount - 1).Viddil
Lines(LinesCount - 1).Operation = sheet.Cells(i, 3).Value()
sa(2) = Lines(LinesCount - 1).Operation
ListView1.Items.Add(New ListViewItem(sa))
Next
ListView1.EndUpdate()
'как убить Эксель??
End If
End Sub
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'фільтрування данних
'дані в пам'яті - Lines(), а на екрані - ListView1
ListView1.Items.Clear()
ListView1.BeginUpdate()
'---------------------------------
If cbViddil.Text = "Всі" Then
For i = 0 To LinesCount - 1
sa(0) = CStr(Lines(i).opDate)
sa(1) = Lines(i).Viddil
sa(2) = Lines(i).Operation
If (Lines(i).opDate >= dtDate1.Value.Date) And (Lines(i).opDate <= dtDate2.Value.Date) Then
'можна еще добавить фильтры
ListView1.Items.Add(New ListViewItem(sa))
End If
Next i
'---------------------------------
Else
'---------------------------------
For i = 0 To LinesCount - 1
sa(0) = CStr(Lines(i).opDate)
sa(1) = Lines(i).Viddil
sa(2) = Lines(i).Operation
If cbViddil.Text = Lines(i).Viddil Then
If (Lines(i).opDate >= dtDate1.Value.Date) And (Lines(i).opDate <= dtDate2.Value.Date) Then
ListView1.Items.Add(New ListViewItem(sa))
End If
End If
Next i
End If
'---------------------------------
ListView1.EndUpdate()
End Sub
End Class