Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как экпортировать DataTable в Exel? 
:(
    Опции темы
Feller
Дата 2.12.2012, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 2.7.2010

Репутация: нет
Всего: нет



Как экпортировать DataTable в Exel, при этом чтоб названия колонок было на русском, например в datatable колонка называеться name а в exel она называлась наименование.Зарание спасибо
PM MAIL   Вверх
diadiavova
Дата 2.12.2012, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Я как-то писал на эту тему, посмотри здесь, может что-то пригодится
http://diadiavova.blogspot.ru/search/label/ADO.Net


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
alexdmesi
Дата 4.12.2012, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 18.10.2012

Репутация: нет
Всего: нет



Держи пример, только подключи для работы сначала библиотеку Еxcel11 или выше и подготавливаем шаблон для импорта в первой строке назови столбцы на русском,
в классе формы объявляем:
 Inherits System.Windows.Forms.Form
    Public ObjExcel As New Microsoft.Office.Interop.Excel.Application 'подключение объекта(библиотеки) 
    Dim ima_f2 As String
    Dim ima_f1 As String 

далее на каку юнибудь кнопку:

Dim myStream As Object
        Dim openFileDialog1 As New OpenFileDialog()
        Dim f1 As Integer

        openFileDialog1.InitialDirectory = Application.StartupPath
        openFileDialog1.Filter = "Файлы для импорта Excel 1k-2003|*.xls|Файлы для импорта Excel 2007-2010|*.xlsx"
        openFileDialog1.FilterIndex = 2
        openFileDialog1.RestoreDirectory = True
        If openFileDialog1.ShowDialog() = DialogResult.OK Then
            myStream = openFileDialog1.OpenFile()
            ima_f2 = myStream.name 'здесь можешь указать прямой адрес к шаблону для импорта

            With ObjExcel
                .SheetsInNewWorkbook = 1
                .Workbooks.Open(Filename:=ima_f2)
            End With

            f1 = InputBox("Введите последней строки для импорта данных. ")

           

            For i = 11 To f1 ' работаю с 11 строки, потому что такой шаблон
                sss = ObjExcel.Range("a" & i)._Default
                If sss = Nothing Then
                    MsgBox("Было импортировано только " & i - 11 & "строк. Следущая строка пуста", MsgBoxStyle.Critical, "Ошиька!")
                    Exit For
                End If
                Me.AnketaBindingSource.AddNew()

                Me.AnketaDataGridView.Item(0, i - 11).Value = Me.AnketaBindingSource.Position & Me.AnketaBindingSource.Count & Zapros_anketa_id_tema

                Me.AnketaDataGridView.Item(1, i - 11).Value = Zapros_anketa_id_tema

                Me.AnketaDataGridView.Item(2, i - 11).Value = ObjExcel.Range("b" & i)._Default

                Me.AnketaDataGridView.Item(3, i - 11).Value = ObjExcel.Range("c" & i)._Default

                Me.AnketaDataGridView.Item(4, i - 11).Value = ObjExcel.Range("d" & i)._Default

                Me.AnketaDataGridView.Item(5, i - 11).Value = ObjExcel.Range("e" & i)._Default

                Me.AnketaDataGridView.Item(6, i - 11).Value = ObjExcel.Range("f" & i)._Default

                Me.AnketaDataGridView.Item(7, i - 11).Value = ObjExcel.Range("g" & i)._Default

                Me.AnketaDataGridView.Item(8, i - 11).Value = ObjExcel.Range("h" & i)._Default

                Me.AnketaDataGridView.Item(9, i - 11).Value = ObjExcel.Range("i" & i)._Default

                Me.AnketaDataGridView.Item(10, i - 11).Value = ObjExcel.Range("j" & i)._Default

                Me.AnketaDataGridView.Item(11, i - 11).Value = ObjExcel.Range("k" & i)._Default

                Me.AnketaDataGridView.Item(12, i - 11).Value = ObjExcel.Range("l" & i)._Default

                Me.AnketaDataGridView.Item(13, i - 11).Value = ObjExcel.Range("m" & i)._Default

                Me.AnketaDataGridView.Item(14, i - 11).Value = ObjExcel.Range("n" & i)._Default

                Me.AnketaDataGridView.Item(15, i - 11).Value = ObjExcel.Range("o" & i)._Default

                Me.AnketaDataGridView.Item(16, i - 11).Value = ObjExcel.Range("p" & i)._Default

                Me.AnketaDataGridView.Item(17, i - 11).Value = ObjExcel.Range("q" & i)._Default

                Me.AnketaDataGridView.Item(18, i - 11).Value = ObjExcel.Range("r" & i)._Default

                Me.AnketaDataGridView.Item(19, i - 11).Value = ObjExcel.Range("s" & i)._Default

            Next
            ObjExcel.ActiveWorkbook.Close()
            ObjExcel.Quit()
           

            If Not (myStream Is Nothing) Then
                myStream.Close()
            End If
        End If

, только в этом примере как раз наоборот их Excel в DataGrid, а тебе надо наоборот   н-р (ObjExcel.Range("s" & i)._Default=Me.AnketaDataGridView.Item(19, i - 11).Value)

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0516 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.