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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как работать с xls? Как работать с xls? 
:(
    Опции темы
krewin
Дата 16.9.2011, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Пожалуста подскажите как xls документ перевести в массив или проще в DataGridView1 ??

Это сообщение отредактировал(а) krewin - 16.9.2011, 12:24
PM MAIL   Вверх
diadiavova
Дата 16.9.2011, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Тут нужны пояснения. Если у тебя просто есть документ и нужны данные с него, то проще всего сохранить с помощью самой программы эксель в формате, который легко прочитать(CSV или XML). Если речь о том, чтобы запихнуть такую возможность в свою программу, то тут зависит от того, какая версия документа, если 2007 и позднее, то там есть возможность работать либо с OpenXML SDK, либо напрямую с XML данными(немного сложнее), для более ранних версий придется ставить офис и использовать его библиотеки.


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


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Открыть документ как OLE-объект и далее построчно по нему пройтись. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
diadiavova
Дата 16.9.2011, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Данкинг @  16.9.2011,  14:29 Найти цитируемый пост)
Открыть документ как OLE-объект и далее построчно по нему пройтись.

Ну это если офис установлен и на компе есть соответствующие компоненты. Или есть еще какой-то способ?


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


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(diadiavova @  16.9.2011,  14:36 Найти цитируемый пост)
Ну это если офис установлен и на компе есть соответствующие компоненты.

Да, разумеется, если Excel установлен... И всё, а какие ещё компоненты могут требоваться в данном случае.



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
diadiavova
Дата 16.9.2011, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Данкинг @  16.9.2011,  15:53 Найти цитируемый пост)
И всё, а какие ещё компоненты могут требоваться в данном случае.

Ну я же пояснил все в первом посте. А условие, что эксель установлен не всегда выполнимо: на целевой машине его может и не быть. OpenXml SDK в свою очередь можно распространять со своим приложением и это не требует дополнительных лицензионных отчислений от конечного пользователя. Да и если проблема действительно только в том, чтобы перевести существующие данные в свою программу, то можно сохранить в удобном формате и прочитать, это тоже вариант.


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


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(diadiavova @  16.9.2011,  15:58 Найти цитируемый пост)
Ну я же пояснил все в первом посте. А условие, что эксель установлен не всегда выполнимо:

Я в смысле, если Эксель установлен, то этого уже достаточно.
Цитата(diadiavova @  16.9.2011,  15:58 Найти цитируемый пост)
Да и если проблема действительно только в том, чтобы перевести существующие данные в свою программу, то можно сохранить в удобном формате 

Так это пользователю сохранять надо будет самому, а потом уже юзать программу с сохранённым файлом. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
diadiavova
Дата 16.9.2011, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Данкинг @  16.9.2011,  16:03 Найти цитируемый пост)
Так это пользователю сохранять надо будет самому, а потом уже юзать программу с сохранённым файлом.

Я сказал как раз не о том случае, когда это предоставляется пользователю. Бывает же, что нужные данные просто надо забить в программу во время разработки. ТС ведь ничего не пояснил


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


Шустрый
*


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

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



А кто в курсе о библиотеке Microsoft Word  9.0 Object Library. Раньше в VB6 можно было создавать докуметы типа ворда, но сейчас про net ничего не знаю.



Это сообщение отредактировал(а) krewin - 16.9.2011, 16:54
PM MAIL   Вверх
diadiavova
Дата 16.9.2011, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Да все это тоже можно. Даже есть набор инструментов VSTO. Но это будет работать только на тех машинах, на которых офис установлен. А так подключи библиотеку к проекту и работай с ней без проблем. Если знаешь как это делалось раньше, то разберешься быстро.


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


Шустрый
*


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

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



Возникли первые проблемы

    Не удается найти тип взаимодействия, соответствующий внедренному типу "Microsoft.Office.Interop.Excel.Application". Отсутствует ссылка на сборку?    C:\Users\007\AppData\Local\Temporary Projects\ConsoleApplication1\Module1.vb    

Код

Imports Microsoft.Office.Interop.Excel
Module Module1

    Sub Main()
        Dim aa As New Application

    End Sub

End Module


загружал Microsoft.Office.Tools.Excel
установлен 2010 Excel

вот пример
http://base.vingrad.ru/view/2869-Word-Excel---VB-NET

Это сообщение отредактировал(а) krewin - 17.9.2011, 16:45
PM MAIL   Вверх
diadiavova
Дата 17.9.2011, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



krewin, возможно из-за конфликта имен: класс Application есть и в пространстве System.Windows.Forms, а это пространство импортируется на уровне проекта. Или напиши имя класса полностью или для экселевского пространства создай псевдоним и используй его при указании типов.


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


Шустрый
*


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

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



нет не работает 

 
Код

 Private _xlApplication As New Microsoft.Office.Interop.Excel.Application 'Приложение Excel


ошибка все таже
PM MAIL   Вверх
diadiavova
Дата 18.9.2011, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



krewin, Скопировал тот код(точнее ту его часть, что для чтения), все работает.

Если в примере из аттача ссылки на сборки офиса будут битыми, просто удали их и добавь снова.(это я на всякий случай)

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  ReadXls.rar 59,63 Kb


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


Шустрый
*


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

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



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

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

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


 




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


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

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