如何用 Visual Basic 中使用电子表格 Web 组件

文章翻译 文章翻译
文章编号: 235883 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

如果要在自定义的 Visual Basic 解决方案中使用电子表格或计算引擎,您可以使用该 Microsoft Office Web Components 中包含此电子表格控件。本文讨论如何为 Visual Basic 窗体上的控件中插入电子表格并填充数据与电子表格。

更多信息

可以添加该 Office Web Components Visual Basic 中的窗体,添加任何其他 ActiveX 控件相同的方式。在 Office Web Components 中包含此 电子表格 控件是选项随 Visual Basic 将 DataGrid 控件不是更可靠。使用电子表格数据显示格式的数据、 计算公式,并允许用户交互。

重要提示: 若要查看,并使用任何在 Office Web Components 必须具有您的计算机上安装它们。使用 Microsoft Office 2000,安装该组件,或者如果您的公司中有一个 Office 2000 的站点许可证可以从您的 Intranet 下载组件。您的用户必须为很好地安装这些组件,并且必须有 Office 2000 许可证被覆盖。您和您的用户必须使用 Microsoft ie 4.01 或更高版本。

创建示例项目的步骤

  1. 在 Visual Basic 中创建一个新的标准 EXE 项目。默认情况下创建 Form1。
  2. 添加对 Microsoft Office Web Components 9.0 的引用。
  3. 将此电子表格控件从 Visual Basic 工具箱添加到窗体。
  4. 电子表格 控件可以显示和使用类似于一个的工作表或隐藏和用作页面上的可见控件的一个计算引擎中。
使用 电子表格 在 Visual Basic 中的控件是与工作表在 Excel 中处理几乎完全相同。方法和属性,用于处理电子表格组件是与自动化 Excel 时,将使用的内容相似。

填充电子表格控件

您可以将数据添加到 电子表格 控件,通过以下方法之一:
  • 将数据直接输入到网格。
  • 复制并粘贴一个 Excel 工作表、 文本的文件或 Word 文档中的数据。
  • 从文本文件或 Web 页导入数据。有关详细信息请参阅 LoadText 方法主题和联机帮助中的 HTMLURL 属性主题。
  • 编写代码以填充数据与电子表格。
请注意没有办法直接将此 电子表格 控件绑定到数据。

下面的过程填充,并设置 电子表格 控件 (NWind.mdb) 罗斯文示例数据库中的数据的格式:
Sub GetNwindData()

    Dim rstEmployees As Object
    Dim cnn As String
    Dim strSQL As String
    Dim fldCount As Integer
    Dim intIRow As Integer
    Dim intICol As Integer
    Dim varData As Variant

    'Create recordset and fill with records from Northwind sample database.
    Set rstEmployees = CreateObject("ADODB.Recordset")
    cnn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\Program Files\Microsoft Visual Studio\VB98\nwind.mdb"
    strSQL = "SELECT FirstName, LastName, Title, Extension FROM Employees ORDER BY LastName"
    rstEmployees.Open strSQL, cnn, 3 ' adOpenStatic = 3
    
    'Clear any existing values from the spreadsheet control.
    Spreadsheet1.ActiveSheet.Cells(1, 1).Select
    Spreadsheet1.ActiveSheet.UsedRange.Clear

    'Add the field names as column headers.
    For fldCount = 0 To rstEmployees.Fields.Count - 1
        intIRow = intIRow + 1
        Spreadsheet1.ActiveSheet.Cells(1, intIRow).Value = rstEmployees.Fields(fldCount).Name
    Next

    'Fill the control with data from the database.
    Dim iNumCols As Integer
    Dim iNumRows As Integer
    
    iNumCols = rstEmployees.Fields.Count
    iNumRows = rstEmployees.Recordcount
    varData = rstEmployees.GetRows(iNumRows)
    
    For intIRow = 1 To iNumRows
        For intICol = 1 To iNumCols
            Spreadsheet1.ActiveSheet.Cells(intIRow + 1, intICol).Value = varData(intICol - 1, intIRow - 1)
        Next
    Next

    'Format the headers in row 1 with a Bold Font that is 11 points.
    With Spreadsheet1.ActiveSheet.Range(Spreadsheet1.Cells(1, 1),
Spreadsheet1.ActiveSheet.Cells(1, iNumCols)).Font
        .Bold = True
        .Size = 11
    End With
    
    'AutoFit the columns and make all text left-aligned.
    With Spreadsheet1.ActiveSheet.Range(Spreadsheet1.Cells(1, 1),
Spreadsheet1.ActiveSheet.Cells(iNumRows + 1, iNumCols))
        .AutoFitColumns
        .HAlignment = ssHAlignLeft
    End With

End Sub
				


请注意电子表格控件不是工作簿包含单个工作表。ActiveSheet 属性总是引用单个工作表。

获取帮助

创建对 Office Web Components 库的引用后,您可以通过对象浏览器或从 常规 选项卡的电子表格属性工具箱中访问帮助。您还可以找到并双击 Msowcvba.chm 上的帮助文件。若要获得帮助,请在使用特定关键词,突出显示该关键字并按 F1 键。有关创建引用和使用对象的信息模型帮助,请参阅 Visual Basic 或 Visual Basic 中的帮助,为应用程序。

您可以将图表控件绑定到电子表格控件中。在图表控件上的其他信息,请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
235885如何使用图表 Web 组件使用 VB

参考

有关 Office Web Components 的详细信息,请参阅第 12 章"使用 Web 技术"Microsoft Office 2000/视频基本程序员指南 》。

属性

文章编号: 235883 - 最后修改: 2004年7月14日 - 修订: 1.2
这篇文章中的信息适用于:
  • Microsoft Office Spreadsheet Component 9.0
关键字:?
kbmt kbhowto kbofficewebspread KB235883 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 235883
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com