Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
Внизимпорт из Excel Найти похожие ветки
← →
programmer90 (2008-06-26 11:42) [0]Здравствуйте уважаемые участники и мастера.
Вопрос следующий:
Дан edit на форме, и файл в формате xlsm. В ячейке a1 в файле находится данные.
1) Как импотировать/экспортировать в/из Делфи ячейку/едит таблицы.
2) Как импортировать целую строчку/столбец из Екселя.
Заранее благодарю-с.
← →
clickmaker © (2008-06-26 11:48) [1]TExcelApplication?
← →
programmer90 (2008-06-27 18:52) [2]
> TExcelApplication?
Да хоть TЧтохотите главное чтобы из едита(комбобокса) попала в файл Excel.
← →
YurikGL © (2008-06-27 21:29) [3]http://kladovka.net.ru/index.cgi?pid=board&rid=363
← →
JanMihail (2008-06-27 22:10) [4]ExcelApplication.ActiveSheet.Cells[1, 1] := edit1.text
← →
programmer90 (2008-06-29 14:20) [5]
> ExcelApplication.ActiveSheet.Cells[1, 1] := edit1.text
В Delphi 7.0 все предельно ясно в Delphi 2007 эта задача не поддаётся решению, вернее под Delphi 2007 .NET.
Пушу такой код
uses
...., ComObj;
.
.
VAR
excel:variant;
.
.
procedure .....ButtonClick....
BEGIN
excel:=CreateOleObject("Excle.Application");
Excel.Workbooks.Open["c:\nekotorijdocument.xls"];
Excel.Range["a1"]:="Helo,world";
Excel.ActiveWorkbook.Close;
Excel.Application.Quit;
END;
Ошибка возникает в строке "CreateOleObject"- грит мол нипонятнааа...
Наверное действительно не понимает:)
Под Delphi 2007 Win32 всё работает замечательно.
Возможен ли какой-либо другой код?
Кто работал на новой версии Delphi 2007, HELP!!!
Заранее благодарю-с.
← →
Ляпа (2008-06-29 15:32) [6]
> programmer90 (29.06.08 14:20) [5]
http://www.rsdn.ru/article/dotnet/ExcelNELateBinding.xml
← →
programmmer90 (2008-06-29 15:52) [7]
> http://www.rsdn.ru/article/dotnet/ExcelNELateBinding.xml
Желательно покороче, и на Делфи, а там в на нескольких языках :), всё равно спс.
Мне нужно односторонее(пока) движение, из Делфи в Ексель,
четкий и конкретный код...
← →
Игорь Шевченко © (2008-06-29 16:43) [8]http://ln.com.ua/~openxs/articles/smart-questions-ru.html
← →
Ляпа (2008-06-29 17:40) [9]
> programmmer90 (29.06.08 15:52) [7]
> Желательно покороче, и на Делфи
Хм... лопату дали, направление указали, теперь канаву за тебя выкопать?
Сразу предупреждаю - код пригоден только в качестве примера!
unit TestExcel1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComObj, System.ComponentModel, Borland.Vcl.StdCtrls,
System.Runtime.InteropServices,
System.Reflection;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.nfm}
var
excel, workbooks, workbook,worksheet,range, oWorksheets:TObject;
excelId:guid;
args:array[0..0] of TObject;
const
appProgID="Excel.Application";
procedure TForm1.Button1Click(Sender: TObject);
begin
excelId:=ProgIdToClassId(appProgID);
excel:=CreateComObject(excelId);
workbooks := excel.GetType().InvokeMember(
"Workbooks", BindingFlags.GetProperty, nil, excel, nil);
args[0]:="C:\2.xls";
workbook := workbooks.GetType().InvokeMember(
"Open", BindingFlags.InvokeMethod, nil, workbooks, args);
oWorksheets := workbook.GetType().InvokeMember(
"Worksheets", BindingFlags.GetProperty, nil, workbook, nil);
// Задаем имя страницы
args[0] := "Лист1";
// Получаем ссылку на страницу с именем "Лист1"
worksheet := oWorksheets.GetType().InvokeMember(
"Item", BindingFlags.GetProperty, nil, oWorksheets, args);
args[0]:="a1";
range := worksheet.GetType().InvokeMember(
"Range", BindingFlags.GetProperty, nil, worksheet, args);
args[0] := "LMD";
range.GetType().InvokeMember(
"Value", BindingFlags.SetProperty, nil, range, args);
workbook.GetType().InvokeMember(
"Save", BindingFlags.InvokeMethod, nil, workbook, nil);
workbook.GetType().InvokeMember(
"Close", BindingFlags.InvokeMethod, nil, workbook, nil);
// Уничтожение объекта Excel.
Marshal.ReleaseComObject(excel);
// Вызываем сборщик мусора для немедленной очистки памяти
GC.GetTotalMemory(true);
end;
end.
← →
programmmer90 (2008-07-01 00:27) [10]Удалено модератором
Примечание: Создание пустых сообщений
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c