Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
44 / 24 / 1
Регистрация: 22.05.2012
Сообщений: 669
1

Через делфи выбрать из икселя нужные строки

09.11.2015, 21:27. Показов 981. Ответов 1
Метки нет (Все метки)

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


Исходный файл вот такой
ФИО день-участок
Иванов Петр Петрович 2-33
Иванов Петр Петрович 2-33
Сидоров Александр Михайлович 13-65
Алексеев Иван Иванович 2-54
Трушин Никита Константинович 6-67
Трушин Никита Константинович 5-35
Артамонов Станислав Иванович 1-4
Артамонов Станислав Иванович 1-4
Артамонов Станислав Иванович 3-5
Трофимова Гульнара Сергеевна 31-4
Васильев Михаил Николаевич 26-50
Сопроненко Борис Васильевич 10-84
Сопроненко Борис Васильевич 9-31


а получиться должно вот так

ФИО день-участок
Трушин Никита Константинович 6-67
Трушин Никита Константинович 5-35
Артамонов Станислав Иванович 1-4
Артамонов Станислав Иванович 1-4
Артамонов Станислав Иванович 3-5
Сопроненко Борис Васильевич 10-84
Сопроненко Борис Васильевич 9-31


.....
Это только пример файла, в настоящем файле более 5000 строк
Вложения
Тип файла: xls Выбрать.xls (35.0 Кб, 3 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2015, 21:27
Ответы с готовыми решениями:

Выбрать нужные строки в таблице
Народ, привет. Есть вот такая таблица File: ID | FileId | Revision 1 | ...

Выбрать из файла нужные строки (Java)
Здравствуйте, учусь работе с файлами на java. Никак не могу разобраться как заставить выбирать...

Как из таблицы выбрать нужные строки не по порядку, а начиная с 4-ой каждую 7-ую?
Есть таблица со множеством значений. В ней мне нужны 4 строка и от четвертой каждая 7-ая....

Выбрать нужные чекбоксы
Есть несколько чекбоксов с численными значениями (1,2,4,8,16). Также есть инпут, куда можно ввести...

1
44 / 24 / 1
Регистрация: 22.05.2012
Сообщений: 669
09.11.2015, 22:49  [ТС] 2
Лучший ответ Сообщение было отмечено Programmer1993 как решение

Решение

Файл в стринггрид я прочитал, а как условие задать что бы правильно просчитал

Delphi
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls,ComObj;
 
type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure Xls_Open(XLSFile:string; Grid:TStringGrid);
 const
  xlCellTypeLastCell = $0000000B;
var
  ExlApp, Sheet: OLEVariant;
  i, j, r, c:integer;
 
begin
  //создаем объект Excel
  ExlApp := CreateOleObject('Excel.Application');
 
  //делаем окно Excel невидимым
  ExlApp.Visible := false;
 
  //открываем файл XLSFile
  ExlApp.Workbooks.Open(XLSFile);
 
  //создаем объект Sheet(страница) и указываем номер листа (1)
  //в книге, с которого будем осуществлять чтение
  Sheet := ExlApp.Workbooks[ExtractFileName(XLSFile)].WorkSheets[1];
 
  //активируем последнюю ячейку на листе
  Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;
 
    // Возвращает номер последней строки
    r := ExlApp.ActiveCell.Row;
 
    // Возвращает номер последнего столбца
    c := ExlApp.ActiveCell.Column;
 
    //устанавливаем кол-во столбцов и строк в StringGrid
    Grid.RowCount:=r;
    Grid.ColCount:=c;
 
    //считываем значение из каждой ячейки и копируем в нашу таблицу
     for j:= 1 to r do
       for i:= 1 to c do
         Grid.Cells[i-1,j-1]:= sheet.cells[j,i];
        //если необходимо прочитать формулы то
       //Grid.Cells[i-1,j-1]:= sheet.cells[j,i].formula;
 
 //закрываем приложение Excel
 ExlApp.Quit;
 
 //очищаем выделенную память
 ExlApp := Unassigned;
 Sheet := Unassigned;
 
end;
 
procedure TForm1.Button1Click(Sender: TObject);
 var
  x, y, w: integer;
  s: string;
  MaxWidth: integer;
begin
  If OpenDialog1.Execute then Xls_Open (OpenDialog1.FileName, StringGrid1);
 
   with StringGrid1 do
    ClientHeight := DefaultRowHeight * RowCount + 5;
    with StringGrid1 do
    begin
      for x := 0 to ColCount - 1 do
      begin
        MaxWidth := 0;
        for y := 0 to RowCount - 1 do
        begin
          w := Canvas.TextWidth(Cells[x,y]);
          if w > MaxWidth then
            MaxWidth := w;
        end;
        ColWidths[x] := MaxWidth + 5;
      end;
    end;
end;
 
end.
0
09.11.2015, 22:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2015, 22:49
Помогаю со студенческими работами здесь

Как выбрать нужные числа
Здравствуйте. У меня проблемка. Есть набор цифр по возростанию. Например: 0 0.01 0.013 0.0155...

Выбрать нужные элементы из списка
Привет всем! Помогите пожалуйста новичку ) Я задал список (setf Список '((1 2 3)(4 5 6))) как...

Как выбрать нужные даты?
Доброго времени суток форумчане. Столкнулся с проблемой, и никак не могу ее решить. Задача...

Как правильно выбрать нужные записи?
Работаю на perl. Думаю актульна проблема и с другими средствами... Подключаюсь к СУБД (неважно...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru