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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сравнить два файла 
:(
    Опции темы
Sharki
Дата 8.6.2009, 16:55 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Здрасте всем.
Есть два файла,один excel у второго расширение *.cad(это текстовый фаил).
Вобщем нужно сравнить из этих двух файлов только две вещи(Place,TapeNumber),и нужно показать отчёт неважно в каком формате(word,excel,txt,pdf),нужно показать что совпало и где несовпало.
Подскажите как это можно сделать.
Спасибо.

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  test.rar 22,28 Kb
PM MAIL   Вверх
Sharki
Дата 9.6.2009, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ну хоть подкиньте идейку как делать.
Спасибо.
PM MAIL   Вверх
Sharki
Дата 9.6.2009, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



?????
PM MAIL   Вверх
Sharki
Дата 10.6.2009, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



???
PM MAIL   Вверх
jonie
Дата 10.6.2009, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

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



Вы программист или кто?!
Если нет, то:
для начала приведи все к одноми виду. например экселю. 
Эксель - данные - импортировать, файл R31_C.CAD
На полученный лист скопируйте данные из SA_JZ10_R31_REV_C01_BOM.xls.

Далее идете в макросы и пишите там такой макрос:
Код

Option Explicit
Sub Макрос1()
    
    
    Dim i As Long
    For i = 1 To 1000
    
        Sheets("Лист1").Select  'лист с CAD
        Dim place1 As String
        place1 = Range("D" & i).Value 'это типа place из cad файла
        
        If Len(place1) = 0 Then
            Exit For
        End If
        
        Sheets("Лист2").Select  'лист с xls
        Dim j As Long
        For j = 1 To 1000
            Dim place2 As String
            place2 = Range("L" & j).Value 'это типа place из xls файла
            If Len(place2) = 0 Then
                Exit For
            End If
            
            If place1 = place2 Then
                 Sheets("Лист1").Select  'лист с CAD
                 Range("K" & i).Value = 1         'а это будет признак что совпали
                 Exit For
            End If
        Next j
    Next i
   
End Sub

Исполняете скрипт.

после чего открываете первый лист, и выьираете его весь. Давите Данные-Фильтр-Автофильтр. В стобце K выбираете условие равности 1-ке. Все, получили список совпадающих по place. Ну и для TapeNumber чуть поправите скрипт.




--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Sharki
Дата 11.6.2009, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



jonie спасибо большое за вариант,но я совсем зелёный,мне бы всё это только на шарпе написать.
Спасибо огромное.
PM MAIL   Вверх
Sharki
Дата 11.6.2009, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



 smile  smile  smile 
PM MAIL   Вверх
jonie
Дата 11.6.2009, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

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



ну так изучайте шарп, в чем проблема? Что у вас не получается?! Если вы не хотите изучать ничего - тогда идите в раздел найма специалистов и платите $ за работу.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Sharki
Дата 14.6.2009, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



jonie  Спасибо за помощь.
PM MAIL   Вверх
Sharki
Дата 16.6.2009, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Добрый вечер.
А может кто подскажет как можно прочитать не весь (txt file) а определённые колонки.Например если фаил выглядит так:

Код

-3.18     71.45       0         FID         utr_ssssss_s
-93.73    71.17      0         FID           utr_ssssss_s
-95.00    2.59        0         FID           utr_ssssss_s
-51.44     59.06     180     U201        utr_103301659_s
-34.29     59.06     180     U300        utr_104306105_s
-92.46     42.60      90      R106        utr_112815046_s


то надо прочитать последние две колонки.
Спасибо.
PM MAIL   Вверх
Fortnox
Дата 18.6.2009, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 31.10.2008
Где: Ростов-на-Дону

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



Как вариант:

Код

                Console.WriteLine("Started...");
                StreamReader sr = new StreamReader("Example.txt", Encoding.Default);
                string[] splitted = new string[4];
                do
                {
                    splitted = sr.ReadLine().Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                    Console.WriteLine("{0}\t{1}", splitted[3], splitted[4]);

                } while (!sr.EndOfStream);
                sr.Close();
                Console.WriteLine("Done");
                Console.ReadLine();

PM MAIL   Вверх
Bogdan1024
Дата 18.6.2009, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

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



Цитата(Sharki @ 16.6.2009,  21:22)
Добрый вечер.
А может кто подскажет как можно прочитать не весь (txt file) а определённые колонки.Например если фаил выглядит так:

Код

-3.18     71.45       0         FID         utr_ssssss_s
-93.73    71.17      0         FID           utr_ssssss_s
-95.00    2.59        0         FID           utr_ssssss_s
-51.44     59.06     180     U201        utr_103301659_s
-34.29     59.06     180     U300        utr_104306105_s
-92.46     42.60      90      R106        utr_112815046_s


то надо прочитать последние две колонки.
Спасибо.

Устанавливаешь у потока позицию, с которой читать...


--------------------
user posted image
PM MAIL   Вверх
Sharki
Дата 19.6.2009, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



 Bogdan1024 , Fortnox Спасибо.
 Подскажите.Горю.
Спасибо
PM MAIL   Вверх
Sharki
Дата 21.6.2009, 06:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Help  smile  smile  smile 
PM MAIL   Вверх
Экскалупатор
Дата 21.6.2009, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

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



Sharki, я что то не пойму, что вам конкретно нужно? 
Цитата

то надо прочитать последние две колонки.

???
так в текстовом файле нету колонок, там есть строки, вот и читайте строку, а потом делайте с ней то что нужно, т.е. удаляете лишние пробелы и читаете из нее последние два "СЛОВА", а не "КОЛОНКИ"

Цитата

 smile  smile  smile 

p.s. и не надо так убиваться, вы же так не убьетесь...

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

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


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

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


 




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


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

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