Сохранить изменения из DataGridView в Excel - Visual Basic .NET
Формулировка задачи:
Есть datagrid,туда выводится файл excel, как сделать так чтобы при изменении значения клетки в datagrid изменения сохранялись в тот же файл?
Код формы с датагрид:
Листинг программы
- Public dt As New DataTable
- Public tab(30, 1) As Decimal
- Public aaa As Integer
- Private Sub ИсходныеДанные_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- aaa = 7
- Dim bbb1 = Главная.bbb
- Dim j As Integer = 0
- Dim a1, b1 As Decimal
- Dim EA As Object 'EA - Excel Application (Excel-Приложение)
- EA = CreateObject("Excel.Application")
- Dim sPath As String = Application.StartupPath 'Открыть Excel
- Dim sFile As String = sPath + "\t.xlsx" 'Полный путь к файлу
- Dim r = dt.NewRow()
- '_________________________
- EA.SheetsInNewWorkbook = 1
- EA.Workbooks.Add(sFile)
- 'EA.Visible = True
- '_____________________Добавление данных в DataGrid
- dt.Columns.Add("Показатели")
- dt.Columns.Add("Усл. обозначения")
- dt.Columns.Add("Единицы измерения")
- dt.Columns.Add("Базовый вариант")
- dt.Columns.Add("Проектируемый вариант")
- r("Показатели") = EA.Range("A3").Value
- r("Усл. обозначения") = EA.Range("B3").Value
- r("Единицы измерения") = EA.Range("C3").Value
- r("Базовый вариант") = EA.Range("D3").Value
- r("Проектируемый вариант") = EA.Range("E3").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A4").Value
- r("Усл. обозначения") = EA.Range("B4").Value
- r("Единицы измерения") = EA.Range("C4").Value
- r("Базовый вариант") = EA.Range("D4").Value
- r("Проектируемый вариант") = EA.Range("E4").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A5").Value
- r("Усл. обозначения") = EA.Range("B5").Value
- r("Единицы измерения") = EA.Range("C5").Value
- r("Базовый вариант") = EA.Range("D5").Value
- r("Проектируемый вариант") = EA.Range("E5").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A6").Value
- r("Усл. обозначения") = EA.Range("B6").Value
- r("Единицы измерения") = EA.Range("C6").Value
- r("Базовый вариант") = EA.Range("D6").Value
- r("Проектируемый вариант") = EA.Range("E6").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A7").Value
- r("Усл. обозначения") = EA.Range("B7").Value
- r("Единицы измерения") = EA.Range("C7").Value
- r("Базовый вариант") = EA.Range("D7").Value
- r("Проектируемый вариант") = EA.Range("E7").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A8").Value
- r("Усл. обозначения") = EA.Range("B8").Value
- r("Единицы измерения") = EA.Range("C8").Value
- r("Базовый вариант") = EA.Range("D8").Value
- r("Проектируемый вариант") = EA.Range("E8").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A9").Value
- r("Усл. обозначения") = EA.Range("B9").Value
- r("Единицы измерения") = EA.Range("C9").Value
- r("Базовый вариант") = EA.Range("D9").Value
- r("Проектируемый вариант") = EA.Range("E9").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A10").Value
- r("Усл. обозначения") = EA.Range("B10").Value
- r("Единицы измерения") = EA.Range("C10").Value
- r("Базовый вариант") = EA.Range("D10").Value
- r("Проектируемый вариант") = EA.Range("E10").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A11").Value
- r("Усл. обозначения") = EA.Range("B11").Value
- r("Единицы измерения") = EA.Range("C11").Value
- r("Базовый вариант") = EA.Range("D11").Value
- r("Проектируемый вариант") = EA.Range("E11").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A12").Value
- r("Усл. обозначения") = EA.Range("B12").Value
- r("Единицы измерения") = EA.Range("C12").Value
- r("Базовый вариант") = EA.Range("D12").Value
- r("Проектируемый вариант") = EA.Range("E12").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A13").Value
- r("Усл. обозначения") = EA.Range("B13").Value
- r("Единицы измерения") = EA.Range("C13").Value
- r("Базовый вариант") = EA.Range("D13").Value
- r("Проектируемый вариант") = EA.Range("E13").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A14").Value
- r("Усл. обозначения") = EA.Range("B14").Value
- r("Единицы измерения") = EA.Range("C14").Value
- r("Базовый вариант") = EA.Range("D14").Value
- r("Проектируемый вариант") = EA.Range("E14").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A15").Value
- r("Усл. обозначения") = EA.Range("B15").Value
- r("Единицы измерения") = EA.Range("C15").Value
- r("Базовый вариант") = EA.Range("D15").Value
- r("Проектируемый вариант") = EA.Range("E15").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A16").Value
- r("Усл. обозначения") = EA.Range("B16").Value
- r("Единицы измерения") = EA.Range("C16").Value
- r("Базовый вариант") = EA.Range("D16").Value
- r("Проектируемый вариант") = EA.Range("E16").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A17").Value
- r("Усл. обозначения") = EA.Range("B17").Value
- r("Единицы измерения") = EA.Range("C17").Value
- r("Базовый вариант") = EA.Range("D17").Value
- r("Проектируемый вариант") = EA.Range("E17").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A18").Value
- r("Усл. обозначения") = EA.Range("B18").Value
- r("Единицы измерения") = EA.Range("C18").Value
- r("Базовый вариант") = EA.Range("D18").Value
- r("Проектируемый вариант") = EA.Range("E18").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A19").Value
- r("Усл. обозначения") = EA.Range("B19").Value
- r("Единицы измерения") = EA.Range("C19").Value
- r("Базовый вариант") = EA.Range("D19").Value
- r("Проектируемый вариант") = EA.Range("E19").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A20").Value
- r("Усл. обозначения") = EA.Range("B20").Value
- r("Единицы измерения") = EA.Range("C20").Value
- r("Базовый вариант") = EA.Range("D20").Value
- r("Проектируемый вариант") = EA.Range("E20").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A21").Value
- r("Усл. обозначения") = EA.Range("B21").Value
- r("Единицы измерения") = EA.Range("C21").Value
- r("Базовый вариант") = EA.Range("D21").Value
- r("Проектируемый вариант") = EA.Range("E21").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A22").Value
- r("Усл. обозначения") = EA.Range("B22").Value
- r("Единицы измерения") = EA.Range("C22").Value
- r("Базовый вариант") = EA.Range("D22").Value
- r("Проектируемый вариант") = EA.Range("E22").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A23").Value
- r("Усл. обозначения") = EA.Range("B23").Value
- r("Единицы измерения") = EA.Range("C23").Value
- r("Базовый вариант") = EA.Range("D23").Value
- r("Проектируемый вариант") = EA.Range("E23").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A24").Value
- r("Усл. обозначения") = EA.Range("B24").Value
- r("Единицы измерения") = EA.Range("C24").Value
- r("Базовый вариант") = EA.Range("D24").Value
- r("Проектируемый вариант") = EA.Range("E24").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A25").Value
- r("Усл. обозначения") = EA.Range("B25").Value
- r("Единицы измерения") = EA.Range("C25").Value
- r("Базовый вариант") = EA.Range("D25").Value
- r("Проектируемый вариант") = EA.Range("E25").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A26").Value
- r("Усл. обозначения") = EA.Range("B26").Value
- r("Единицы измерения") = EA.Range("C26").Value
- r("Базовый вариант") = EA.Range("D26").Value
- r("Проектируемый вариант") = EA.Range("E26").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A27").Value
- r("Усл. обозначения") = EA.Range("B27").Value
- r("Единицы измерения") = EA.Range("C27").Value
- r("Базовый вариант") = EA.Range("D27").Value
- r("Проектируемый вариант") = EA.Range("E27").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A28").Value
- r("Усл. обозначения") = EA.Range("B28").Value
- r("Единицы измерения") = EA.Range("C28").Value
- r("Базовый вариант") = EA.Range("D28").Value
- r("Проектируемый вариант") = EA.Range("E28").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A29").Value
- r("Усл. обозначения") = EA.Range("B29").Value
- r("Единицы измерения") = EA.Range("C29").Value
- r("Базовый вариант") = EA.Range("D29").Value
- r("Проектируемый вариант") = EA.Range("E29").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = "Количество выходных дней и праздничных в плановом периоде"
- r("Усл. обозначения") = EA.Range("B30").Value
- r("Единицы измерения") = EA.Range("C30").Value
- r("Базовый вариант") = EA.Range("D30").Value
- r("Проектируемый вариант") = EA.Range("E30").Value
- dt.Rows.Add(r)
- r = dt.NewRow()
- j = j + 1
- r("Показатели") = EA.Range("A31").Value
- r("Усл. обозначения") = EA.Range("B31").Value
- r("Единицы измерения") = EA.Range("C31").Value
- r("Базовый вариант") = EA.Range("D31").Value
- r("Проектируемый вариант") = EA.Range("E31").Value
- dt.Rows.Add(r)
- DataGridView1.DataSource = dt
- For i As Integer = 0 To 28
- a1 = CDec(dt.Rows.Item(i).Item(3))
- b1 = CDec(dt.Rows.Item(i).Item(4))
- tab(i, 0) = a1
- tab(i, 1) = b1
- 'tab(i, 0) = CDec(dt.Rows.Item(i).Item(3))
- 'tab(i, 1) = CDec(dt.Rows.Item(i).Item(4))
- Next i
- Главная.t = CDec(tab(0, 1))
- Главная.zppr = CDec(tab(1, 1))
- Главная.N = CDec(tab(3, 1))
- Главная.a = CDec(tab(8, 1))
- Главная.b = CDec(tab(24, 1))
- Главная.k = CDec(tab(13, 1))
- Главная.Bp2 = CDec(tab(12, 1))
- Главная.Chr1 = CDec(tab(16, 1))
- Главная.Chr2 = CDec(tab(17, 1))
- Главная.Kb = CDec(tab(25, 1))
- Главная.B1 = CDec(tab(10, 1))
- Главная.Ch1 = CDec(tab(18, 1))
- Главная.Dk = CDec(tab(26, 1))
- Главная.Dvp = CDec(tab(27, 1))
- Главная.P = CDec(tab(28, 1))
- Главная.O1 = CDec(tab(4, 0))
- Главная.D1 = CDec(tab(5, 0))
- Главная.ChResh1 = CDec(tab(7, 0))
- Главная.O2 = CDec(tab(4, 1))
- Главная.D2 = CDec(tab(5, 1))
- Главная.ChResh2 = CDec(tab(7, 1))
- Главная.k = CDec(tab(6, 0))
- End Sub
Решение задачи: «Сохранить изменения из DataGridView в Excel»
textual
Листинг программы
- Private EA As Object
- Private Sub Button6_Click(sender As System.Object, e As System.EventArgs) Handles Button6.Click
- EA = CreateObject("Excel.Application")
- Dim sFile As String = Path.Combine(Application.StartupPath, "t.xls")
- EA.Workbooks.open(sFile)
- Dim sh As Object = EA.activesheet
- DataGridView1.ColumnCount = 5
- For i = 3 To 31
- DataGridView1.Rows.Add(sh.cells(i, 1).value, sh.cells(i, 2).value) , sh.cells(i, 3).value, sh.cells(i, 4).value, sh.cells(i, 5).value)
- Next
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д