Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 4)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Mic777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

procedure TForm1.Button1Click(Sender: TObject);
const
xlCellTypeLastCell = $0000000B;
//Тип последней заполненной ячейки
var
  XLApp, Sheet: OLEVariant;
    RangeMatrix: Variant;
  x,y,iColIndex, iRowIndex: integer;
 XLSFile: string;
begin
XLSFile:='D:\12.xlsx';
   //Создаем объект Excel
  XLApp := CreateOleObject('Excel.Application');
    try
  //Делаем окно Excel невидимым
    XLApp.Visible := True;
    //Открываем Excel
    XLApp.Workbooks.Open(XLSFile);
    //Создаем объект страница(Sheet)
   //и указываем номер листа в книги с которого будем осуществлять чтение
    Sheet := XLApp.Workbooks[ExtractFileName(XLSFile)].WorkSheets[1];
    //активируем последнюю ячейку на листе
    Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;
    //получаем номер последней строки
    x := Sheet.UsedRange.Rows.Count;
        //получаем номер последнего столбца
    y := Sheet.UsedRange.Columns.Count;
    //устанавливаем количество столбцов в CxGrid
        showmessage('Строк '+IntToStr(x)+' Стоблцов '+IntToStr(y));
 
         with ViewList.DataController do
    begin
//      BeginUpdate;
//      try
        RecordCount := XLApp.ActiveCell.Row;
         for iRowIndex := 0 to x-1 do
          for iColIndex := 0 to y-1 do
 
            begin
 
               showmessage(Sheet.Cells[iRowIndex+1,iColIndex+1]) ;
            Values[iRowIndex, iColIndex] := Sheet.Cells[iRowIndex+1,iColIndex+1];
               {ViewList.Columns[0].DataBinding.ValueType := 'String';
ViewList.Columns[1].DataBinding.ValueTypeClass := TcxStringValueType;
ViewList.Columns[2].DataBinding.ValueTypeClass := TcxIntegerValueType;
ViewList.Columns[3].DataBinding.ValueTypeClass := TcxFloatValueType;
ViewList.Columns[4].DataBinding.ValueTypeClass := TcxFloatValueType;
 ViewList.Columns[5].DataBinding.ValueTypeClass := TcxStringValueType;
ViewList.Columns[6].DataBinding.ValueTypeClass := TcxStringValueType;}
 
 
 
                                end
 
//       finally          z
//        EndUpdate;
//      end;
         end;
 
    finally
    if not VarIsEmpty(XLApp) then
    begin
      XLApp.Quit;
      XLAPP := Unassigned;
      Sheet := Unassigned;
    end;
   end;
    end;

Всего записей: 90 | Зарегистр. 15-12-2005 | Отправлено: 14:18 09-02-2015 | Исправлено: Mic777, 14:27 09-02-2015
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 4)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru