Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 441

/ вопрос решён /

Здравствуйте! Помогите решить проблему! Делаю экспорт таблицы Stringgrid в Excel, первый столбец stringgrida содержит записи, остальные цифры. Так вот проблема в том что цифры переносятся, а первый столбец показывает как пустой, хотя он заполнен специальностями! Ниже приведен код, помогите разобраться пожалуйста, что там нужно поправить!?

Приложение:
  1. procedure TForm12.sButton1Click(Sender: TObject);
  2. var
  3. ExcelApp, Workbook, Range, Cell1, Cell2, ArrayData : Variant;
  4. BeginCol, BeginRow,i, j: integer;
  5. begin
  6. if form12.sCheckBox2.Checked=true then
  7. if form12.sCheckBox3.Checked=true then
  8. begin
  9. BeginCol := 1;
  10. BeginRow := 9;
  11. ExcelApp := CreateOleObject('Excel.Application');
  12.  
  13. ArrayData := VarArrayCreate([1,StringGrid2.RowCount+2, 0, StringGrid2.ColCount+2], varVariant);
  14. for I := 1 to StringGrid2.ColCount-1 do
  15. for J := 1 to StringGrid2.RowCount-1 do
  16. ArrayData[j, i] := Form12.StringGrid2.Cells[i,j];
  17. Cell1 := WorkBook.WorkSheets['God'].Cells[BeginRow, BeginCol];
  18. Cell2 := WorkBook.WorkSheets['God'].Cells[BeginRow + Form12.StringGrid2.RowCount - 1,
  19. BeginCol + Form12.StringGrid2.ColCount - 1];
  20. Range := WorkBook.WorkSheets['God'].Range[Cell1, Cell2];
  21. Range.Value := ArrayData;
  22. ExcelApp.Visible := true;
  23. end;
  24. if form12.sCheckBox2.Checked=false then
  25. if form12.sCheckBox3.Checked=false then
  26.  
  27. end;


alexlafa Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: alexlafa (статус: Посетитель)
Вопрос отправлен: 23 июня 2011, 08:02
Состояние вопроса: решён, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Здравствуйте, alexlafa!

for I := 0 to StringGrid2.ColCount - 1 do // <--- при StringGrid2.FixedCols = 0

Приложение:
  1.  


Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 23 июня 2011, 10:22
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 23 июня 2011, 10:46; участников в обсуждении: 1.
min@y™

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): Решен!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:38
Выполнено за 0.03 сек.