如何:从 Excel 电子表格生成数据

为了使数据库单元测试更有意义,可以用适合于数据库架构但是与生产数据无关的测试数据填充测试数据库。 通过使用 Visual Studio 高级专业版中的数据绑定生成器,可以用 Microsoft Excel 工作簿中的数据填充表中的列。 有关如何生成测试数据的更多信息,请参见使用数据生成器生成数据库的测试数据

在本过程中,您将执行下列操作:

  • 为数据库项目中的表列分配数据绑定生成器。

  • 使用 OLE DB 提供程序创建与工作簿的连接。

  • 指定要使用工作簿中的哪些数据来填充表列。

系统必备

此过程假设您有一个打开的数据库项目,而且为它创建了一个数据生成计划。 这些步骤还假设要从一个 Excel 工作簿生成数据。 有关如何创建数据生成计划的更多信息,请参见如何:创建数据生成计划

为列分配数据绑定生成器

  1. 在**“解决方案资源管理器”**中双击该数据生成计划(如果该计划尚未打开的话)。

    该数据生成计划将出现。

  2. 单击要为其生成数据的表。

  3. 在数据生成计划窗口的列详细信息窗格中,为要用工作簿中的数据填充的表列查找相应的行。 在该行中,单击“生成器”列中的单元格,单击向下键,再单击**“数据绑定生成器”**。

    接下来指定用来连接到工作簿的信息。

使用 OLE DB 提供程序创建与工作簿的连接

  1. 在**“属性”窗口中,找到“连接信息”属性,单击向下键,再单击“添加新连接”**。

    随即出现**“选择数据源”**对话框。

  2. 在**“数据源”列表中单击“<其他>”**。

  3. 在**“数据提供程序”列表中,单击“用于 OLE DB 的 .NET Framework 数据提供程序”,再单击“继续”**。

    随即出现**“连接属性”**对话框。

  4. 在**“OLE DB 提供程序”列表中,单击“Microsoft Jet 4.0 OLE DB 提供程序”,再单击“高级”**。

    将出现**“高级属性”**对话框。

  5. 在**“扩展属性”属性中,键入 Excel 8.0(如果使用的是 Microsoft Office 2003 System)或 Excel 12.0(如果使用的是 2007 Microsoft Office system),再单击“确定”**。

    提示

    如果在尝试链接到使用 Microsoft Excel 2010 创建的某个电子表格时出现错误,则可将该电子表格另存为“Excel 97-2003 工作簿”

  6. 在**“服务器名或文件名”**框中,键入工作簿的路径和名称(例如,C:\Temp\TestData.xls)。

  7. 单击**“测试连接”**。

    如果连接成功,则会显示包含**“测试连接成功”**消息的消息框。 如果出现一个指示无法连接的错误,请确保工作簿未在使用中。

  8. 单击**“确定”**。

    提示

    如果在尝试从“属性”窗口中添加连接时出现错误,则可以改为使用“服务器资源管理器”添加连接。 有关更多信息,请参见如何:从服务器资源管理器连接到数据库

    在最后一步,将使用新连接从工作簿中选择数据,并检查**“数据生成预览”**窗口中显示的结果。

从工作簿中选择数据并校验结果

  1. 在**“属性”窗口中,在要填充的列的“选择查询”**属性中键入所需的 SELECT 语句。 例如,若要从名为 AnnualSales 的工作表中检索所有数据,请键入以下内容:

    SELECT * FROM [AnnualSales$]
    

    提示

    必须为工作表名称指定一个尾随 $,并将它们括在中括号中。

  2. 在数据生成计划窗口的列详细信息窗格中,为要用工作簿中的数据填充的表列查找相应的行。 在该行中,单击“生成器输出”列中的单元格,单击向下键, 再单击包含要使用的数据的工作表的名称。

    如果您未在步骤 1 中指定查询,或者您的查询指定的工作表名称未能找到,则**“生成器输出”列将仅包含“<无强制输出>”**。

  3. 打开**“数据”菜单,指向“数据生成器”,再单击“预览数据生成”**。

    将出现**“数据生成预览”**窗口。 此时,在已选择要用电子表格中的数据填充的列中,将显示您的工作簿中的值。

请参见

概念

使用数据生成器生成数据库的测试数据

数据绑定生成器