Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.15;
Скачать: CL | DM;

Вниз

из StringGrid в Excel   Найти похожие ветки 

 
X_ksandr_X ©   (2007-04-16 09:33) [0]

Всем привет.
Люди добрые подскажите плиз. У меня есть Excel файл, который я подгружаю в StrinGrid с этим проблемм нет. Мне нужно сделать так чтоб загруженные данные я мог редоктировать и по нажатии на кнопку они изменялись в данном файле Excel.
Заранее спасибо.


 
Jan1   (2007-04-16 10:18) [1]


> У меня есть Excel файл, который я подгружаю в StrinGrid
> с этим проблемм нет

чем ADO и DBGrid не устроил?


 
X_ksandr_X ©   (2007-04-16 10:31) [2]

К сожалению я не использую пока сдесь БД и SQL. Мне пока всего лишь навсего нужно переместить данные в Excel.


 
Jan1   (2007-04-16 10:37) [3]

http://delphikingdom.ru/asp/itemq.asp?mode=1&itemid=2


 
Desdechado ©   (2007-04-16 10:53) [4]

Имхо, проще использовать книжку экселя как набор данных, тогда не надо ничего перемещать.


 
X_ksandr_X ©   (2007-04-16 10:57) [5]

Ладно всем спасибо за советы.
Попробуем.


 
Карелин Артем ©   (2007-04-16 11:37) [6]

function TMainData.StringGrid2Excel(const ExcelDoc: variant; const row,
 col: integer; const Grid: TStringGrid): integer;
var
 y: integer;
 i, j: integer;
 RowCount, ColCount: integer;
 Cell1, Cell2, ArrayData: Variant;
begin
 Screen.Cursor := crHourGlass;
 Application.ProcessMessages;
 y := row;
 RowCount := Grid.RowCount;
 ColCount := Grid.ColCount;
 ArrayData := VarArrayCreate([0, RowCount + 1, 0, ColCount], varVariant);
 for i := 0 to RowCount do
   for J := 0 to ColCount do
     ArrayData[I, J] := Grid.Cells[i, j];
 Cell1 := ExcelDoc.Cells[Row + 1, Col];
 Cell2 := ExcelDoc.Cells[Row + RowCount - 2, Col + ColCount - 2];
 ExcelDoc.Range[Cell1, Cell2].NumberFormat := "0";
 ExcelDoc.Range[Cell1, Cell2].Value := ArrayData;
 Screen.Cursor := crDefault;
 Result := RowCount - 1;
end;


 
Jan1   (2007-04-16 11:52) [7]


> К сожалению я не использую пока сдесь БД и SQL. Мне пока
> всего лишь навсего нужно переместить данные в Excel.

а зря. на порядок меньше кода бы было.


 
Карелин Артем ©   (2007-04-16 11:59) [8]


> Jan1   (16.04.07 11:52) [7]

Уверен? )))


 
Jan1   (2007-04-16 12:00) [9]


> Уверен? )))

DBGrid+ADODataSet+ADOConnection и нет даже строчки кода :)


 
Карелин Артем ©   (2007-04-16 12:18) [10]


> Jan1   (16.04.07 12:00) [9]

Эта связка хороша только в простейших случаях, когда данные в виде примитивной таблицы представлены.
У меня например есть множество шаблонов, в которых надо заполнять неизвестно где расположенные именованные области, обьединенные ячейки, разбросанные по всему листу. Я как-то плохо представляю как заполнить например шаблон полиса ОСАГО через SQL. А так все хорошо заполняется несколькими коротким кодом.


 
Jan1   (2007-04-16 12:19) [11]


> Карелин Артем ©   (16.04.07 12:18) [10]

Ты 100 раз прав! Я с утрировал, но может автору это и надо? Может он велик себе придумал? :)



Страницы: 1 вся ветка

Текущий архив: 2007.07.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
2-1182585697
FIL-23
2007-06-23 12:01
2007.07.15
полное сканирование диска


15-1181669771
Ivannn
2007-06-12 21:36
2007.07.15
DDE


3-1176905016
Sergey5
2007-04-18 18:03
2007.07.15
Неверное число записей возвращает запрос


6-1166255556
>>DEATH<<
2006-12-16 10:52
2007.07.15
регер


3-1176733324
tytus
2007-04-16 18:22
2007.07.15
Выполнение запросов Oracle в отдельном процессе.