Аватар для DISS4991
0 / 0 / 1
Регистрация: 09.09.2016
Сообщений: 5
.NET 4.x

Сравнения файлов Excel

29.10.2016, 02:33. Показов 1519. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть программа которая сравнивает два файла

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog opf = new OpenFileDialog();
            opf.Filter = "Microsoft Excel (*.xls*)|*.xls*";
           
            string a = opf.FileName;
            Excel.Application app = new Excel.Application();
            Excel.Workbook Wb = app.Workbooks.Open(a); 
            Excel.Worksheet sh = Wb.Sheets[1];            
           
            
            var lastCell = sh.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell);
            
            lastColumn = (int)lastCell.Column;
            lastRow = (int)lastCell.Row;
            
            list = new string[lastCell.Column, lastCell.Row]; 
            for (int i = 0; i < (int)lastCell.Column; i++) 
                for (int j = 0; j < (int)lastCell.Row; j++) 
                {
                    list[i, j] = sh.Cells[j+1 , i+1 ].Text.ToString();
                }
 
            app.Quit();
 
            
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            OpenFileDialog opf = new OpenFileDialog();
            opf.Filter = "Microsoft Excel (*.xls*)|*.xls*";
 
            string a = opf.FileName;
            Excel.Application app = new Excel.Application();
            Excel.Workbook Wb = app.Workbooks.Open(a);
            Excel.Worksheet sh = Wb.Sheets[1];
 
            var C = sh.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell);
            r = (int)C.Row;
 
            matrix = new string[C.Row];
            
            for (int i = 1; i < C.Row; i++)
            {
                matrix[i] = (string)((sh.Cells["2", i] as Excel.Range).Text);
            }
            
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            Excel.Application otchet = new Excel.Application();
            otchet.Workbooks.Add();
            otchet.Visible = true;
            Excel._Worksheet sOtchet = otchet.ActiveSheet;
 
            for (int i = 0; i < lastColumn; i++) 
                for (int j = 0; j < lastRow; j++) 
                    for(int x = 0; x < r ; x++)
 
                {
                    if (matrix[i] == list[i,j])
                    {
                        otchet.Cells[j+1, i+1] = (string)list[i, j];
                    }
                }
        }
       
    }
 
}
нужно с двумерного массива выбрать только одну строчку которая больше за все совпадает и записать ее в файл а не все.
подскажите как.

есть идея сравнивать строки с этого файла между собой которая строка после сравнения будет больше заполнена ту и записать но я не могу сообразить как это записать правильно
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.10.2016, 02:33
Ответы с готовыми решениями:

Создание инструмента сравнения файлов (Excel)
Трубуется помощь в создании программы на С#!!

Программа сравнения файлов
Скажите пожалуйста: почему, когда я нажимаю на кнопку Compare у меня возникает ошибка? IDE - Eclipse Файлы добавляю как обычно: ...

Утилита сравнения файлов
Задача из книги Шилдта для начинающих. В книге есть пример утилиты, и затем задание: 1. Предусмотреть возможность выполнения сравнения...

1
 Аватар для Serg34
100 / 100 / 33
Регистрация: 20.09.2014
Сообщений: 457
Записей в блоге: 3
02.11.2016, 13:08
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System.Linq;
 
int matches = new int[lastRow];
for (int i = 0; i < lastRow; i++) 
    for (int j = 0; j < lastColumn; j++) 
        if (otchet.Cells[j+1, i+1] == (string)list[i, j]) // или что у Вас с чем сравнивается))
            matches[i]++;
 
int maxMatches = matches.Max();
for (int i = 0; i < lastRow; i++) 
    if (matches[i] == maxMatches)
    {
        // строка с индексом i и есть та самая
    }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.11.2016, 13:08
Помогаю со студенческими работами здесь

Быстрый способ сравнения файлов
На одном форуме прочел коммент пользователя: Как реализовать чтение по кластерам и сравнение в памяти? Сравнение по байтам, по хэшу...

Приложение для сравнения файлов
Нужна прога которой можно выбирать любой файл с компа и можно было бы сравнить несколько файлов и сколько они весят

Программа сравнения звуковых файлов
Есть 2 звуковых файла с расширением pcm в формате моно 16 бит. Требуется сравнить эти два файла и разницу между ними записать в третий...

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

Функция для сравнения рядов в Excel
Добрый день! Подскажите пожалуйста. Есть два столбика с цифрами. Один столбик &quot;эталонный&quot;. Другой - неэталонный. Нужно выявить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров. 3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
Система статов в Unity
GameUnited 20.04.2025
Статы — фундаментальный элемент игрового дизайна, который определяет характеристики персонажей, предметов и других объектов в игровом мире. Будь то показатель силы в RPG, скорость передвижения в. . .
Статические свойства и методы в TypeScript
run.dev 20.04.2025
TypeScript прочно занял своё место в системе современной веб-разработки. Этот строго типизированный язык программирования не просто расширяет возможности JavaScript — он делает разработку более. . .
Batch Transform и Batch Gizmo Drawing API в Unity
GameUnited 20.04.2025
В мире разработки игр и приложений на Unity производительность всегда была критическим фактором успеха. Создатели игр постоянно балансируют между визуальной привлекательностью и плавностью работы. . .
Звук в Unity: Рандомизация с Audio Random Container
GameUnited 20.04.2025
В современных играх звуковое оформление часто становится элементом, который либо полностью погружает игрока в виртуальный мир, либо разрушает атмосферу за считанные минуты. Представьте: вы исследуете. . .
Максимальная производительность C#: Советы, тестирование и заключение
stackOverflow 20.04.2025
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования. . . .
Максимальная производительность C#: Предсказание ветвлений
stackOverflow 20.04.2025
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять. . .
Максимальная производительность C#: Векторизация (SIMD)
stackOverflow 20.04.2025
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных. . .
Максимальная производительность C#: Процессорный кэш
stackOverflow 20.04.2025
Знакомство с внутренним устройством процессорного кэша — ключевой шаг в написании по-настоящему быстрого кода на C#. Этот слой архитектуры компьютера часто ускользает от внимания разработчиков, но. . .
Максимальная производительность C#: Введение в микрооптимизации
stackOverflow 20.04.2025
В мире разработки на C# многие привыкли полагаться на . NET Runtime, который "магическим образом" сам оптимизирует код. И часто это работает - современные JIT-компиляторы творят чудеса. Но когда речь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru