Главная страница
    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.46 MB
Время: 0.041 c
3-1176875990
Юрий
2007-04-18 09:59
2007.07.15
Многотабличный запрос (MySQL)


15-1181812261
Sir John
2007-06-14 13:11
2007.07.15
Срочно нужен толковый флэшер


15-1181846635
ММК
2007-06-14 22:43
2007.07.15
Symbian


3-1176726642
Xmen
2007-04-16 16:30
2007.07.15
Логин форма.


6-1165907575
Rentgen
2006-12-12 10:12
2007.07.15
image/gif - Mozilla отображается, а в ослике нет.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский