Delphiを使用してデータベースアプリケーションを作成し、Excelシートでデータをインポートしてアクセスデータベースに保存する必要があります。私はこれをどうやって行うのか、どのコンポーネントを使うべきか、それが可能なのかどうかわからない。あなたが私を助けてくれますか?デルファイを使用してAccessデータベースにExcelファイルをインポートする方法
4
A
答えて
12
あなたはいくつかの選択肢があり、DoCmd.TransferSpreadsheet
機能を使用して)これらの
1の1を試し、この方法は、単純なが、非常に柔軟ではありません。
{$APPTYPE CONSOLE}
{$R *.res}
uses
SysUtils,
ActiveX,
ComObj;
procedure ImportDataAccess(const AccessDb, TableName, ExcelFileName:String);
Const
acQuitSaveAll = $00000001;
acImport = $00000000;
acSpreadsheetTypeExcel9 = $00000008;
acSpreadsheetTypeExcel12 = $00000009;
var
LAccess : OleVariant;
begin
//create the COM Object
LAccess := CreateOleObject('Access.Application');
//open the access database
LAccess.OpenCurrentDatabase(AccessDb);//if the access database doesn't exist use the NewCurrentDatabase method instead.
//import the data
LAccess.DoCmd.TransferSpreadsheet(acImport, acSpreadsheetTypeExcel9, TableName, ExcelFileName, True);
LAccess.CloseCurrentDatabase;
LAccess.Quit(1);
end;
begin
try
CoInitialize(nil);
try
ImportDataAccess('C:\Data\Database1.accdb','Sales','C:\Data\Sales.xlsx');
Writeln('Done');
finally
CoUninitialize;
end;
except
on E:EOleException do
Writeln(Format('EOleException %s %x', [E.Message,E.ErrorCode]));
on E:Exception do
Writeln(E.Classname, ':', E.Message);
end;
Writeln('Press Enter to exit');
Readln;
end.
2)ADコンポーネントを使用すると、より柔軟な方法が使用できます。
{$APPTYPE CONSOLE}
{$R *.res}
uses
Data.DB,
Data.Win.ADODB,
SysUtils,
ActiveX,
ComObj;
procedure ImportDataADO(const AccessDb, TableName, ExcelFileName:String);
var
LAdoQueryExcel : TADOQuery;
LADOAccesCmd : TADOCommand;
begin
LAdoQueryExcel:=TADOQuery.Create(nil);
LADOAccesCmd:=TADOCommand.Create(nil);
try
//set the connection string for access
LADOAccesCmd.ConnectionString:=Format('Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%s;',[AccessDb]);
LADOAccesCmd.Parameters.Clear;
LADOAccesCmd.CommandText:='INSERT INTO Sales (id,name) VALUES (:id,:name)';
LADOAccesCmd.ParamCheck:=False;
//set the connection string for excel
LAdoQueryExcel.ConnectionString:=Format('Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%s;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1"',[ExcelFileName]);
LAdoQueryExcel.SQL.Add('SELECT * FROM [Sheet1$]');
LAdoQueryExcel.Open;
while not LAdoQueryExcel.eof do
begin
LADOAccesCmd.Parameters.ParamByName('id').Value := LAdoQueryExcel.FieldByname('id').AsInteger;
LADOAccesCmd.Parameters.ParamByName('name').Value := LAdoQueryExcel.FieldByname('name').AsString;
LADOAccesCmd.Execute;
LAdoQueryExcel.Next;
end;
finally
LAdoQueryExcel.Free;
LADOAccesCmd.Free;
end;
end;
begin
try
CoInitialize(nil);
try
ImportDataADO('C:\Datos\Database1.accdb','Sales','C:\Datos\Sales.xlsx');
Writeln('Done');
finally
CoUninitialize;
end;
except
on E:EOleException do
Writeln(Format('EOleException %s %x', [E.Message,E.ErrorCode]));
on E:Exception do
Writeln(E.Classname, ':', E.Message);
end;
Writeln('Press Enter to exit');
Readln;
end.
関連する問題
- 1. ExcelファイルをAccessデータベースにインポートする
- 2. C言語を使用してCSVファイルをAccessデータベースにインポート
- 3. laravel maatwebsiteを使用してExcelファイルをインポートする方法は?
- 4. Excel VBAを使用してOffice 365 Accessデータベースに挿入する方法
- 5. 複数の(csv)ファイルをAccessデータベースにインポートする方法
- 6. 既存のVBAコードを使用してAccessデータベースに新しいファイルをインポートする方法
- 7. VBAを使用してExcelワークシートをAccessにインポート
- 8. PHPを使用してAccessデータベースに添付ファイルを挿入する方法は?
- 9. ボタンをクリックして角を使用してExcelファイルをインポートする方法
- 10. データベースにExcelファイルをインポート
- 11. vb.netを使用してMS AccessにExcelファイルをアップロードする
- 12. Pythonを使用してXMLファイルをExcel XLSファイルテンプレートにインポートする方法は?
- 13. oracleフォームを使用してexcelファイルからoracleデータベースにデータをインポートする方法
- 14. JHipster:Jhipsterを使用してデータベース内のエンティティにExcelファイルからデータをインポートする方法は?
- 15. Pythonを使用してインポート - データフレームに複数のExcelファイルをインポート
- 16. Excelスプレッドシートのデータを既存のAccessデータベースにインポートする
- 17. javaを使用して.xlsファイルをmysqlデータベースにインポートする方法は?
- 18. クエリを使用してmysqlデータベースにSQLファイルをインポートする方法
- 19. codeigniterを使用してcsvファイルのデータをmysqlデータベースにインポートする方法は?
- 20. .mdfデータベースを使用してExcelをインポートする
- 21. VBAを使用してCSVファイルをAccessにインポート
- 22. マクロを使用してcsvファイルをExcelワークシートにインポートする
- 23. PHPを使用してMySQLにExcelファイルをインポートするYii2
- 24. デルファイSQLite3はZeosLibを使用して、データベースを共有する方法は?
- 25. excel-builder.jsを使用してExcelファイルをエクスポートする方法
- 26. 比較値を使用してExcelからデータベースにデータをインポート
- 27. Excel用の.basファイルをMac用にインポートする方法2016
- 28. ExcelデータベースをデータベースADO.netにインポートする方法
- 29. Excelをインポートしてレポートを必要とするAccess 2007データベースのプラットフォーム
- 30. SSISを使用して複数のAccessテーブルをSQL Serverにインポートする方法
より長いアプローチは、COMを使用してCSVファイルを保存し、CSVファイルを解析して検証することです。 – ComputerSaysNo