从 Excel 导入数据 [关闭]
Posted
技术标签:
【中文标题】从 Excel 导入数据 [关闭]【英文标题】:Import data from Excel [closed] 【发布时间】:2011-02-20 19:36:43 【问题描述】:我想将 Excel 中的数据导入 Delphi 7 上的 Paradox 数据库。
如何使用 Delphi 做到这一点?
【问题讨论】:
这里没有问题。这是一个声明。抱歉,我不得不投票结束。 不需要 Delphi。确保您已安装 Paradox ODBC 驱动程序,然后从 Excel 中连接到它们。奇迹般有效;有关您可以使用的各种 ODBC 驱动程序的更多信息,请参见 [此处][1]。 --jeroen [1]:dbforums.com/corel-paradox/… +1;投票重新开放。即使将问题表述为陈述,我认为 OP 想要什么也很清楚。 +1 投票支持重新开放。来吧,问题很明显,所以我添加了它。我们要帮助新用户吗? @gbrandt 没关系,发帖人并没有试图编辑问题以使其清楚。这是一个有 8 个现有问题的用户。我们不是在谈论新用户。 【参考方案1】:好吧,如果您有标记为 Delphi 7 的问题,我假设您有 BDE。这将使您能够在 Delphi 中完成整个过程。
您可以修改和使用这个未经测试的代码(您需要添加异常处理):
procedure TForm1.Button2Click(Sender: TObject);
var
Cols: integer;
Rows: integer;
IntCellValue: integer;
Excel, XLSheet: Variant;
failure: Integer;
begin
failure:=0;
try
Excel:=CreateOleObject('Excel.Application');
except
failure:=1;
end;
if failure = 0 then
begin
Excel.Visible:=False;
Excel.WorkBooks.Open(<Excell_Filename>);
XLSheet := Excel.Worksheets[1];
Cols := XLSheet.UsedRange.Columns.Count;
Rows := XLSheet.UsedRange.Rows.Count;
// Value of the 1st Cell
IntCellValue:=Excel.Cells[1, 1].Value;
// Iterate Cals/Rows to read the data section in your worksheet
// and you can write it in Paradox using the BDE by iterating all cells
// somthing like this pseudo code:
try
Query := TQuery.Create(nil)
Query .Databasename := PdxDBName; // must be configured in the BDE
while Rows > 0
begin
while Cols > 0
begin
IntCellValue:=Excel.Cells[Cols,Rows].Value;
Query .SQL.text := // SQLStmt including the IntCellValue
ExecSQL;
dec(Cols);
end;
Cols := XLSheet.UsedRange.Columns.Count;
Dec(Rows);
end;
finally
Query.Free;
end;
Excel.Workbooks.Close;
Excel.Quit;
Excel:=Unassigned;
end;
end;
【讨论】:
我尝试读取 xlsx 文件。在 XLSheet := Excel.Worksheets[1] 行,它会引发异常,并显示消息“OLE 错误 800A03EC”。任何想法为什么会发生这种情况?【参考方案2】:Excel 中的 CSV 然后将 CSV 导入 Paradox DB 呢? 您也可以尝试从 Excel 导出 XML,然后以编程方式将 XML 加载到 Padox DB 中。
【讨论】:
【参考方案3】:使用 Delphi 7 中的 OLEDB Provider 和 ADO 组件来实现这一点。 它应该很简单,您可以通过 SQL 查询使用 Excel 查询。
使用TADO组件获取数据,然后使用BDETQuery等组件将数据导入Paradox表。
【讨论】:
请不要在您的答案中添加“标语”,如果人们感兴趣,您的个人资料(您已经发现)上有一个地方可以放置您的 URL。【参考方案4】:这个工具SMImport 说它可以做到。虽然他们要 50 美元,但您可以下载免费试用版。
【讨论】:
以上是关于从 Excel 导入数据 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Excel 文件导入 SQL Server? [关闭]
通过 Rails 将 SQL 文件或 Excel 文件中的数据导入数据库 [关闭]