Технологии

Программа на С++ в VisualStudio 2010 для работы с базой данных Exel (*.xls/*.xlsx) необходима помощь в привязке файла к программе и чтения данных с файла в программу - вопрос №1523461

Доброго времени суток. Нужно написать программу связанную с базой данных (а именно с файлом *.xls) Увы не знаю как открыть файл такого типа в свой… программе (как прописать это в виде кода программного) и как вытащить значения их нужной ячейки в поля своей программы… Программа написана на языке C++ в VisualStudio, заранее спасибо за помощь

июнь 13, 2015 г.

  • Всего ответов: 1

  • Владимир - аватарка

    Владимир

    10-й в Технологиях

    Приветствую!  Вот код на VB.NET 2010, по нему  можно алгоритм  понять:

    Private Sub tbtnToExcel_Click(sender AsSystem.Object, e AsSystem.EventArgs) Handles tbtnToExcel.Click

    Dim xl As Microsoft.Office.Interop.Excel.Application ' переменная для создания экземпляра Excel

    xl = New Microsoft.Office.Interop.Excel.Application 'создание экземпляра Excel

    xl.Visible = True

    Dim wb As Microsoft.Office.Interop.Excel.Workbook ' переменная для создания Workbook

    wb = xl.Workbooks.Open(Application.StartupPath & "\log.xls") '(«d:\temp\log.xls») открытие файла

    Dim i As Integer= 1

    For Each rw As DataGridViewRow In dgvOutMailLog.Rows ' выводим в Excel строки DataGridView

    With xl.Workbooks(«log.xls»).Sheets(1)

    .cells(i + 4, 1).value = rw.Cells(0).Value ' Регномер

    .cells(i + 4, 2).value = rw.Cells(1).Value ' Тема

    .cells(i + 4, 3).value = rw.Cells(2).Value ' Кому

    .cells(i + 4, 4).value = rw.Cells(3).Value ' Дата

    .cells(i + 4, 5).value = rw.Cells(4).Value & " "& rw.Cells(5).Value & " "& rw.Cells(6).Value ' Фамилия Имя Отчество

    .cells(i + 4, 6).value = rw.Cells(7).Value ' Отдел-Отправитель

    i = i + 1

    End With

    Next

    If Not IsNothing(wb) Then' удаление экземпляра книги

    wb = Nothing

    GC.Collect()

    End If

    If Not(IsNothing(xl)) Then' удаление экземпляра Excel (иначе будет висеть процесс Excel даже после закрытия

    xl = Nothing

    GC.Collect()

    End If

    End Sub

    июнь 13, 2015 г.