Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2007, 16:24   #1
Divers85
 
Регистрация: 25.10.2007
Сообщений: 3
По умолчанию Загрузка таблици

Как прописать чтобы при открытии проекта автоматически открывалась таблица Excel
Divers85 вне форума Ответить с цитированием
Старый 25.10.2007, 16:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Например так:
ShellExecute(form1.handle,'open','D :\Help\R.xls','r.xls','D:\Help\',1)

или через ExcelApplication
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.10.2007, 17:17   #3
Divers85
 
Регистрация: 25.10.2007
Сообщений: 3
По умолчанию

Как это прорисать в проекте Delphi?
Divers85 вне форума Ответить с цитированием
Старый 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
Divers85
 
Регистрация: 25.10.2007
Сообщений: 3
По умолчанию

Слушай все написал. При компеляции Delphi выдал ошибку
[Error] Unit1.pas(30): Undeclared identifier: 'Xls_To_StringGrid'
Divers85 вне форума Ответить с цитированием
Старый 27.10.2007, 11:05   #6
Maslan
Форумчанин
 
Регистрация: 15.10.2007
Сообщений: 147
По умолчанию

А ты напиши "function Xls_To_StringGrid(AGrid: TStringGrid; AXLSFile: string): Boolean;..... и т.д." ДО попытки её вызова...
Maslan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирования строк из одной таблици в другую 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