Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
Tim7

Сравнение ячеек в разных книгах Excel

11.08.2014, 14:25. Показов 4867. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Прошу помощи с программой! Пытаюсь написать приложение которое будет сравнивать ячейки в двух книгах и записывать результаты. Запнулся на массивах, не понимаю как сравнивать элементы массивов (ячейки) между собой.
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
using Word = Microsoft.Office.Interop.Word;
 
 
namespace Helper
{
    public partial class Form1 : Form
    {
        private Excel.Application excelapp;
        public string baseName;
        public string fileName;
 
        public Form1()
        {
            InitializeComponent();
            openFileDialog1.Filter = "Microsoft Excel 97-2003 Worksheet (*.xls)|*.xls|Microsoft Excel Worksheet (*.xlsx)|*.xlsx";
            openFileDialog1.FileName = "";
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            textBox1.Text = openFileDialog1.FileName;
            baseName = textBox1.Text;
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            textBox2.Text = openFileDialog1.FileName;
            fileName = textBox2.Text;
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
           
            excelapp = new Excel.Application();
            if (fileName == null && baseName == null)
            {
                MessageBox.Show("Не выбран файл базы данных и файл с платежами!");
            }
            else if (fileName == null)
            {
                MessageBox.Show("Не выбран файл с платежами!");
            }
            else if (baseName == null)
            {
                MessageBox.Show("Не выбран файл базы данных!");
            }
            else
            {
                Excel.Workbook MyWorkBook = excelapp.Workbooks.Open(baseName);
                Excel.Worksheet MyWorkSheet;
                MyWorkSheet = (Excel.Worksheet)MyWorkBook.Sheets[1];
                Excel.Range range = MyWorkSheet.get_Range(textBox3.Text);
            }
        }
    }
}
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.08.2014, 14:25
Ответы с готовыми решениями:

Сравнение значений ячеек на разных листах Excel и их перенос
Доброго Вам времени суток, уважаемие знатоки!!! Нужна Ваша помощь и подсказки. На листе 1 есть табличка, на листе 2 есть список, нужно...

Ошибка при сравнении значений ячеек в разных книгах
Извините может кто подскажет, столкнулся с такой проблемой. У меня выгружаются в excel программно два листа, в каждом в аналогичных...

Сравнение двух колонок в разных книгах и вывод несовпадающих значений в отдельную книгу
Доброго времени суток! Очень нужна помощь. Есть 2 книги с данными. В одной книге AT LV колонка B (Order), в другой книге AT USA колонка А...

6
Заблокирован
11.08.2014, 18:00
не понимаю как сравнивать элементы массивов (ячейки) между собой.
Таблица Excel - это двумерный массив.
Элементы двумерных массивов сравнивают во вложенном цикле.
0
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
22.08.2014, 14:18
Ferrari Вы не Феррари, вы тормоз..., покажите конкретно, как прочитать значение из конкретной ячейки листа эксель в переменную, остально будет понятно.
0
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
24.08.2014, 16:21
Извините, если обидел, а мне не нравится когда вместо помощи пишут пустые отписки без всякого смысла
0
Заблокирован
24.08.2014, 21:54
Если хотите чтобы вам готовый код писали, идите на фриланс.
0
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
25.08.2014, 11:25
Нет готовый код не нужен, нужна помощь в конкретной ошибке, которая не получается из отсутствия опыта, вместо этого в 80% ответов приходит издевка - или посылают по ссылкам черте куда или пишут пустые фразы, в этом что ли смысл форума? После таких ответов нет никакого желания не то что заплатить , а даже заходить на форум. А к фрилансерам обращаются по целой программе, а не по одному пустяковому вопросу. Уже давно на форуме было предложение открыть ответы с благодарностями в общий доступ, а то такое ощущение что модераторы больше половины слабо компетентны в закрепленных темах
1
5 / 5 / 1
Регистрация: 21.09.2013
Сообщений: 66
26.08.2014, 12:19
Добрый день!
Тоже присоединяюсь к теме, дабы не плодить однотипные вопросы.
Суть такая:
Пишу программу, которая выполняет отчет из нескольких файлов Excel. Для того, чтобы построить отчет в более менее читаемый вид, необходимо выполнить чтение из определенного диапазона ячеек. Вид примерно такой:
(1) устройство №1 канал такой
(1) -.-
(2) Устройство №2 и так далее.
Необходимо выполнить следующее
Считать список устройств в массив или куда-нибудь еще, отсортировать по номеру устройств, и вывести отчет. Как я пытаюсь считать из ячеек
C#
1
2
3
4
5
6
7
            1.List<String> arr = new List<string>();
            2.while (konf.Cells[row +1, "B"].Value2 != "-------")
            {
              3.  arr.Add(konf.get_Range(row+1,"B").Value2.ToString());
                row++;
                Otchet.Cells[row + 5, "E"] = arr[row];
            }
Ругается на третью строку.
An unhandled exception of type 'System.Runtime.InteropServices.COMExcep tion' occurred in WindowsFormsApplication3.exe

Additional information: Исключение из HRESULT: 0x800A03EC

Как считать значения ячеек в массив для дальнейшего анализа?!?!

Добавлено через 1 час 31 минуту
Нашел как считывать!

Вот тут описано.
Экспорт в массив из Exel
Для себя сделал так: считывает из одного файла и пишет в другой
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 private void button1_Click(object sender, EventArgs e)
        {
            Excel.Application app = new Excel.Application();
            app.Workbooks.Open(@"C:\Путь до файла\сам файл.xls");
            Excel._Worksheet sheet = app.ActiveSheet;
            string[] matrix = new string[64];
            for (int i = 1; i < matrix.Length; i++)
            {
                matrix[i] = (string)((sheet.Cells[i, "B"] as Excel.Range).Value);
            }
            app.Quit();
            Excel.Application otchet = new Excel.Application();
            otchet.Workbooks.Add();
            otchet.Visible = true;
 
            Excel._Worksheet sOtchet = otchet.ActiveSheet;
            for (int i =1 ;i < matrix.Length; i++)
            {
                otchet.Cells[i, "A"] = (string)matrix[i];
            }
            otchet.Quit();
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.08.2014, 12:19
Помогаю со студенческими работами здесь

Сравнение ячеек на разных листах
на листе &quot;Сводка&quot; в столбце &quot;А&quot; номенклатуры товара, который есть в принципе. на листе &quot;Foto&quot; в столбце &quot;А&quot;...

Сделать один пдф файл из листов которые находятся в разных книгах excel
Добрый день. Как можно сделать один пдф файл из листов которые находятся в разных книгах excel. Как сделать из листов которые находятся в...

Сравнение ячеек в двух разных таблицах
Имеются две очень объемные таблицы на разных листах одной книге , в первой таблице в третьем столбце название скважины, в четвертом столбце...

Сравнение двух ячеек из разных файлов
Здравствуйте! Есть 2 разных файла, в которых необходимо сравнить столбцы с номерами основных средств (ОС) и их субномерами (СНр). Файл...

Сравнение данных из ячеек DataGridView на двух разных формах
Есть 2 формы, на одной есть DataGridView и на второй - DataGridView. Нужно сравнить данные из определенной колонки в DataGridView на одной...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru