| 
| 
 | Вопрос # 5 441/ вопрос решён / | 
 |  Здравствуйте! Помогите решить проблему! Делаю экспорт таблицы Stringgrid в Excel, первый столбец stringgrida содержит записи, остальные цифры. Так вот проблема в том что цифры переносятся, а первый столбец показывает как пустой, хотя он заполнен специальностями! Ниже приведен код, помогите разобраться пожалуйста, что там нужно поправить!? Приложение:Переключить в обычный режим procedure TForm12.sButton1Click(Sender: TObject);varExcelApp, Workbook, Range, Cell1, Cell2, ArrayData  : Variant;       BeginCol, BeginRow,i, j: integer;beginif form12.sCheckBox2.Checked=true thenif form12.sCheckBox3.Checked=true thenbegin  BeginCol := 1;  BeginRow := 9;  ExcelApp := CreateOleObject('Excel.Application');     ArrayData := VarArrayCreate([1,StringGrid2.RowCount+2, 0, StringGrid2.ColCount+2], varVariant);     for I := 1 to StringGrid2.ColCount-1 do     for J := 1 to StringGrid2.RowCount-1 do     ArrayData[j, i] := Form12.StringGrid2.Cells[i,j];  Cell1 := WorkBook.WorkSheets['God'].Cells[BeginRow, BeginCol];  Cell2 := WorkBook.WorkSheets['God'].Cells[BeginRow  + Form12.StringGrid2.RowCount - 1,           BeginCol + Form12.StringGrid2.ColCount - 1];  Range := WorkBook.WorkSheets['God'].Range[Cell1, Cell2];  Range.Value := ArrayData;  ExcelApp.Visible := true;end;if form12.sCheckBox2.Checked=false thenif form12.sCheckBox3.Checked=false then end;
|  |   Вопрос задал: alexlafa (статус: Посетитель)Вопрос отправлен: 23 июня 2011, 08:02
 Состояние вопроса: решён, ответов: 1.
 |  Ответ #1. Отвечает эксперт: min@y™ Здравствуйте, alexlafa!
 for I := 0 to StringGrid2.ColCount - 1 do // <--- при StringGrid2.FixedCols = 0 
|  | Ответ отправил: min@y™ (статус: Доктор наук)Время отправки: 23 июня 2011, 10:22
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 23 июня 2011, 10:46; участников в обсуждении: 1. 
|   | min@y™ (статус: Доктор наук), 23 июня 2011, 10:46 [#1]:Особо не читая: 
 procedure TForm12.sButton1Click(Sender: TObject);
var
  ExcelApp, Workbook, Range, Cell1, Cell2, ArrayData: Variant;
  BeginCol, BeginRow, i, j: integer;
begin
  if sCheckBox2.Checked and sCheckBox3.Checked
    then with StringGrid2 do
           begin
             BeginCol := 1;
             BeginRow := 9;
             ExcelApp := CreateOleObject('Excel.Application');
             Workbook := ExcelApp.WorkBooks.add(ExtractFilePath(ParamStr(0)) + 'Движения.xls');
             ArrayData := VarArrayCreate([1, RowCount + 2, 0, ColCount + 2], varVariant);
 
             for I := FixedCols to ColCount - 1 do
               for J := FixedRows to RowCount - 1 do
                 ArrayData[j, i] := Cells[i,j];
 
             Cell1 := WorkBook.WorkSheets['God'].Cells[BeginRow, BeginCol];
             Cell2 := WorkBook.WorkSheets['God'].Cells[BeginRow + RowCount - 1, BeginCol + ColCount - 1];
 
             Range := WorkBook.WorkSheets['God'].Range[Cell1, Cell2];
             Range.Value := ArrayData;
             ExcelApp.Visible := True;
          end
   else showmessage ('Отчеты не готовы к экспорту в MS Excel, подготовьте их!');
end;Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  23 июня 2011, 11:35: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Работа с компонентами и библиотеками модератором Ерёмин А.А. 23 июня 2011, 12:14: Статус вопроса изменён на решённый (изменил автор вопроса — alexlafa): Решен! Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |