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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как прочитать Гиперссылки из Ms Excel 
:(
    Опции темы
ddll
Дата 28.1.2011, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте! 
Столкнулся с такой проблемой есть xls-файл 
в одной из колонок находятся гиперссылки необходимо прочитать этот фаил и эти ссылки.
Вообшем то читаеться свободно  проблема в том что когда читаю не распознаються ссылки а читаеться только их имя.
Заранее очень благодарен за ответ!

Вот то как я читаю:

Код



    class Program
    {

        static void Main(string[] args)
        {
            string filename = @"c:\\678.xls";
            // Строка подключения
            string ConnectionString = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"Excel 8.0;HDR=No\";Data Source={0}", filename);
            // Открываем соединение
            DataSet ds = new DataSet("EXCEL");
            OleDbConnection cn = new OleDbConnection(ConnectionString);
            cn.Open();
            DataTable schemaTable =
              cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
                  new object[] { null, null, null, "TABLE" });

            for (int i = 0; i < schemaTable.Rows.Count; i++)
            {
                     Console.WriteLine(schemaTable.Rows[i].ItemArray[2]);
                   Console.WriteLine(schemaTable.Rows[i].ItemArray[7]);
            }

            string sheet1 = (string)schemaTable.Rows[0].ItemArray[2];
            // Выбираем все данные с листа
            string select = String.Format("SELECT * FROM [{0}]", sheet1);
            OleDbDataAdapter ad = new OleDbDataAdapter(select, cn);
            ad.Fill(ds);
            DataTable tb = ds.Tables[0];
            string srt = "";
 List<string> cs = new List<string>();
            foreach (DataRow row in tb.Rows)
            {
                
                srt = "";
                foreach (object col in row.ItemArray)
                {
                   
                    srt += col.ToString() + ";";
                    
                }
                Console.WriteLine(srt);
                cs.Add(srt);
               
            }


Буду рад любым советам как прочитать Эту колонку
   
Нашел макрос на vb который выделяет эти ссылки в другую колонку но мне кажется что это мне мало поможет. 
Может можно вызывать из C# vb макросы?

Это сообщение отредактировал(а) ddll - 28.1.2011, 20:28
PM MAIL   Вверх
ddll
Дата 3.2.2011, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Нашол Надо
Использовать объектную модель excel и параметр Range.Hiperlink

Это сообщение отредактировал(а) ddll - 3.2.2011, 23:20
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

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


 




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


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

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