|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.10.2007, 16:24 | #1 |
Регистрация: 25.10.2007
Сообщений: 3
|
Загрузка таблици
Как прописать чтобы при открытии проекта автоматически открывалась таблица Excel
|
25.10.2007, 16:46 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Например так:
ShellExecute(form1.handle,'open','D :\Help\R.xls','r.xls','D:\Help\',1) или через ExcelApplication
I'm learning to live...
|
25.10.2007, 17:17 | #3 |
Регистрация: 25.10.2007
Сообщений: 3
|
Как это прорисать в проекте Delphi?
|
26.10.2007, 16:05 | #4 |
Пользователь
Регистрация: 20.12.2006
Сообщений: 43
|
Кидаешь на форму StringGrid и добавляешь следующее:
uses ComObj; function Xls_To_StringGrid(AGrid: TStringGrid; AXLSFile: string): Boolean; const xlCellTypeLastCell = $0000000B; var XLApp, Sheet: OLEVariant; RangeMatrix: Variant; x, y, k, r: Integer; begin Result := False; XLApp := CreateOleObject('Excel.Application' ); try XLApp.Visible := False; XLApp.Workbooks.Open(AXLSFile); Sheet := XLApp.Workbooks[ExtractFileName(AXLSFile)].WorkSheets[1]; Sheet.Cells.SpecialCells(xlCellType LastCell, EmptyParam).Activate; x := XLApp.ActiveCell.Row; y := XLApp.ActiveCell.Column; AGrid.RowCount := x; AGrid.ColCount := y; RangeMatrix := XLApp.Range['A1', XLApp.Cells.Item[X, Y]].Value; k := 1; repeat for r := 1 to y do AGrid.Cells[(r - 1), (k - 1)] := RangeMatrix[K, R]; Inc(k, 1); AGrid.RowCount := k + 1; until k > x; RangeMatrix := Unassigned; finally if not VarIsEmpty(XLApp) then begin XLApp.Quit; XLAPP := Unassigned; Sheet := Unassigned; Result := True; end; end; end; Использование функции procedure TForm1.Button1Click(Sender: TObject); begin if Xls_To_StringGrid(StringGrid1, 'C:\Table1.xls') then ShowMessage('Table has been exported!'); end;
Если бы я был на столько умён, чтобы ответить на все вопросы самостоятельно, я бы не спрашивал...
|
27.10.2007, 10:38 | #5 |
Регистрация: 25.10.2007
Сообщений: 3
|
Слушай все написал. При компеляции Delphi выдал ошибку
[Error] Unit1.pas(30): Undeclared identifier: 'Xls_To_StringGrid' |
27.10.2007, 11:05 | #6 |
Форумчанин
Регистрация: 15.10.2007
Сообщений: 147
|
А ты напиши "function Xls_To_StringGrid(AGrid: TStringGrid; AXLSFile: string): Boolean;..... и т.д." ДО попытки её вызова...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Копирования строк из одной таблици в другую | Andersen | Microsoft Office Access | 6 | 13.08.2008 10:46 |
Загрузка | Witaliy | PHP | 3 | 12.07.2008 18:06 |
Загрузка ЦП | HelloZAPOR | Win Api | 7 | 05.11.2007 15:43 |
Загрузка ОЗУ | HelloZAPOR | Общие вопросы Delphi | 2 | 20.07.2007 18:40 |
Загрузка DLL | Hollander | Общие вопросы Delphi | 3 | 21.05.2007 20:19 |