Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

подсчет символов в ячейке


123456789igor ©   (2012-11-14 02:22:00) 

Как подсчитать количество символов в excel таблице через delphi?


oldman   (2012-11-15 13:58:00) [1]


> количество символов в excel таблице


Для чисел применяется форматирование отображения.
Видно 2,55, на самом деле в ячейке 2,551859425
Флаг в руки!!!


Dimka Maslov   (2012-11-14 21:47:00) [2]

Чё то у меня с рейджем не получилось. Думаю, надо таки считать длины в отдельных ячейках и не наприться


AV   (2012-11-14 19:32:00) [3]

Characters[требует]


Dimka Maslov   (2012-11-14 18:40:00) [4]


> // если иначе - засада, копать надо


Range.Characters.Count ?


AV   (2012-11-14 13:59:00) [5]


> ThisCell.Characters.Count

если получится - напишите, как именно сделали
что-то ради интереса попробовал - не получается

var
 ExcelApp, WorkBook, ActiveSheets: Variant;
 Cell1, Cell2,Range: Variant;
 R: ExcelXP.ExcelRange;
 S:string;
 A: Variant;
 i,j,n: integer;
begin
 ExcelApp := CreateOleObject('Excel.Application');
 ExcelApp.Visible := true;
 WorkBook := ExcelApp.WorkBooks.Add('c:\1.xls');
 ActiveSheets := WorkBook.WorkSheets[1];
 Cell1 := ActiveSheets.Cells[1, 1];
 Cell2 := ActiveSheets.Cells[3, 3];
 Range := ActiveSheets.Range[Cell1, Cell2];
// если по простому
 A := Range.Value;
 for i := 1 to 3 do
  for j := 1 to 3 do
      S := S + string(A[i,j]);
 ShowMessage(S + #13#10 + IntToStr(Length(S)));

// если иначе - засада, копать надо
//  R := IDispatch(Range) as ExcelRange;
//  ShowMessage( IntToStr( R.Characters.Count ));


AV   (2012-11-14 11:46:00) [6]

а можно еще поробовать ThisCell.Characters.Count
где ThisCell - range из excel


AV   (2012-11-14 10:04:00) [7]

сложить все ячейки в строку, взять ее длину


Наверх

Титульная страница Поиск, карта сайта Написать письмо