powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Имена листов Excel
9 сообщений из 9, страница 1 из 1
Имена листов Excel
    #38499436
Gagarin_74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Друзья!

Мне необходимо в ListBox поместить имена листов файла Excel. Делаю это так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim cn As New OleDb.OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;Data Source=" & openFileDialog1.FileName.ToString & ";Extended Properties=Excel 8.0")
cn.Open()
Dim tbl As DataTable = cn.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, New Object(-1) {})
cn.Close()

For i As Integer = 0 To tbl.Rows.Count - 1
ListBox2.Items.Add(Convert.ToString(tbl.Rows(i)("TABLE_NAME")))
Next



Пробема: команда
Код: vbnet
1.
cn.Open()

открывает выбранный эксель файл. То есть открывается окно диалога "Файл стал доступным. Редактирование файла теперь разрешено." После закрытия диалога открывается сам файл. А мне он не нужен открытым. Мне нужны были только имена листов.
Помогите!
...
Рейтинг: 0 / 0
Имена листов Excel
    #38499459
cynep kopoBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gagarin_74,

А Вас только такой подход интересует? Interop, например, не подойдет?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Imports Microsoft.Office.Interop

Public Class Form1
    Private excelApp As New Excel.Application
    Private wbook As Excel.Workbook

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        wbook = excelApp.Workbooks.OpenXML("Нужный файл")
        For Each wsheet As Excel.Worksheet In wbook.Worksheets
            ListBox2.Items.Add(wsheet.Name)
        Next
    End Sub
End Class
...
Рейтинг: 0 / 0
Имена листов Excel
    #38499483
Gagarin_74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cynep kopoBka,

Любой подойдет, лишь бы проблема была решена.
Подскажит Ваш способ.
...
Рейтинг: 0 / 0
Имена листов Excel
    #38499485
Gagarin_74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cynep kopoBka,

Дико извиняюсь!!! Спасибо за код!
...
Рейтинг: 0 / 0
Имена листов Excel
    #38499549
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Microsoft.Office.Interop на помойку.
...
Рейтинг: 0 / 0
Имена листов Excel
    #38499655
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУMicrosoft.Office.Interop на помойку.
Поясни?
...
Рейтинг: 0 / 0
Имена листов Excel
    #38499712
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВПоясни?
Пояснял уже миллион раз: Open XML SDK 2.5
...
Рейтинг: 0 / 0
Имена листов Excel
    #38500004
cynep kopoBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
Спасибо за совет. Скачал.


Gagarin_74,
Как минимум одно неудобство в описанном мной способе очевидно: необходимо ставить МС Офис для работы приложения.
...
Рейтинг: 0 / 0
Имена листов Excel
    #38500088
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cynep kopoBkaКак минимум одно неудобство в описанном мной способе очевидно: необходимо ставить МС Офис для работы приложения.
Правильно, а лицензии довольно таки не дешевые. Второе - подход не годится для серверных решений . Третье - допотопный неуправляемый COM это источник зла.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Имена листов Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]