Access编程交流网
  • 设为首页|收藏本站|繁体中文|手机版
  •     
  • Access培训-Access开发平台-Access行业开发

  • 首页
  • 资讯
  • 技巧
  • 源码
  • 行业
  • 资源
  • 活动
  • 关于

技巧

ACCESS数据库

启动/设置/选项/背景

修复/压缩

安全/加密/解密

快捷键

版本升级/其它等

数据表

命名方式/设计规范

表设计

查询

Sql语言基础

选择查询

更新查询

删除查询

追加查询

生成表查询

交叉表查询

SQL特定查询

查询参数

查询综合应用

界面/窗体/控件

标签

文本框

命令按钮

组合框/列表框

选项组/复选框/选项按钮

选项卡

子窗体

窗体本身/综合应用

其它

报表打印

报表设计

高级报表

模块/函数/VBA/API/系统

VBA基础

内置函数

调试/跟踪/Debug

模块/类模块

API/COM/系统相关

字符数字日期

网络通信游戏

加密解密安全

文件处理

经典算法

宏/菜单/工具栏/功能区

宏/脚本

菜单/工具栏

功能区/Ribbon

图表/图形/图像/多媒体

图表

图形/图像

音频

视频/动画

DAO/链接表/ADO/ADP

DAO/链接表/ODBC

ADO/RDO

ADP

ActiveX/第三方控件/插件

Treeview树控件

ListView列表控件

Toolbar工具栏控件

微软其它控件

Dbi-Tech

CodeJock

Grid++Report

FastReport

ComponentOne

加载项/插件/Addin

OFFICE集成/导入导出/交互

Excel导入导出/交互

Word导入导出/交互

PPT交互

Outlook控制/邮件

Text文本文件/INI/CSV

PDF/SWF/XML格式

CAD格式

Sharepoint/其它Office

SqlServer/其它数据库

表

视图

存储过程/触发器

函数

用户/权限/安全

调试/维护

SqlServer其它/综合

发布/打包/文档/帮助

开发版/运行时

打包/发布/部署

开发文档/帮助制作

Access完整行业系统

采购管理系统

销售管理系统

仓库管理系统

人力资源管理HRM

CRM管理系统

MRP/ERP管理系统

BRP/流程优化

其它管理系统

心得/经验/绝招
其它/杂项
Excel技巧

Excel应用与操作

Excel开发编程

Word技巧

Word应用与操作

Word开发编程

Outlook技巧

Outlook应用与操作

Outlook开发编程

热门文章

  • Excel2000 应用案..
  • 保住Excel 2000文..
  • 用Excel进行成绩统计小..
  • 语音字段的使用技巧
  • EXCEL使用技巧
  • Excel XP实用技巧1..

最新文章

  • 在 Excel中 打开Ac..
  • 为选择的区域添加边框
  • 如何在Excel中使用文件..
  • 用快捷键实现相对引用和绝对..
  • 【技巧】Excel控制特定..
  • Excel技巧集锦

联系方式

Access交流网(免费Access交流)

QQ:18449932 

网  址:www.access-cn.com

当前位置:首页 > 技巧 > Excel技巧 > Excel应用与操作
Excel应用与操作

通过Visual Basic .NET 在Office Excel 2

摘要:通过编程方式添加 XML 功能可增强应用程序的实用性。文中的三个示例阐明了如何通过在 Microsoft Visual Basic .NET 中使用 XML 来达到在 Microsoft Office Excel 2003 中打开并使用文件的目的。

引言

Microsoft® Excel 2002 引入了使用可扩展标记语言 (XML) 格式打开文件的功能。在 Microsoft Office Excel 2003 中,这一功能大大增强。例如,您可以创建或打开工作簿,并将自定义 XML 架构附加到该工作簿,然后使用“XML 源”任务窗格来将单元格映射到架构的元素中。

XML 是一种标记语言,目前已发展到可通过人类和应用程序皆可读的格式在系统间传送信息。这一标记语言最初的设计目的是通过万维网传送信息。

格式正确的 XML 文件可通过用户界面或代码在 Excel 2003 中直接打开。格式正确的 XML 有以下特征:

•

仅包含一个根元素,且名称唯一(不出现在文档的其他任何元素中)。

•

元素正确嵌套,元素之间无标记重叠。

•

所有元素标记都闭合。

•

元素的开始和结束标记大小写一致(XML 区分大小写)。

•

所有元素属性都在引号中,可以是双引号,也可以是单引号。

•

特殊字符(如 &、<、<)都已定义为内置实体(&amp;、<、>)。

使用 Microsoft Visual Basic® .NET,您可以利用 Excel 的 XML 功能将数据无缝传送至工作簿,从而显示选定格式和元素排列方式的数据。本文说明了如何完成该任务。

根据数据集生成 XML 并用于 Excel

本节说明如何创建 DataSet 对象,以及如何通过 WriteXML 方法将该对象包含的数据导出至 XML 文件。DataSet 对象是 Microsoft .NET Framework 中数据访问的关键部分,它是包含表、视图和关系的内存中的对象。

您可以打开直接在 Excel 中生成的 XML 文件。为了进行说明,请使用 Jet OLEDB 提供程序根据 Access Northwind 示例创建 DataSet 对象。类似代码都可用于使用 Visual Basic .NET 创建的 DataSet 对象。

1.

启动 Microsoft Visual Studio® .NET。在“文件”菜单上,单击“新建”,然后单击“项目”。从 Visual Basic 项目类型中选择“Windows 应用程序”。默认情况下将创建 Form1。

2.

在“视图”菜单上,选择“工具箱”,然后在 Form1 中添加一个按钮。

3.

双击 Button1。将出现该窗体的代码窗口。

4.

将下列专用成员变量添加到 Form1 类:

Private strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ "C:\Program Files\Microsoft Office\Office11\Samples\Northwind.mdb;"

注意:可能需要修改连接字符串中 Northwind.mdb 的路径,以便与安装匹配。您可从 Microsoft 下载中心下载 Northwind Traders 示例数据库。此外,请注意路径字符串的 Data 和 Source 之间有一个空格。

5.

将以下代码添加到 Button1_Click 处理程序:

'Connect to the data source.
Dim objConn As New System.Data.OleDb.OleDbConnection(strConn)
Try
   objConn.Open()
   '使用客户表中的记录填充数据集。
   Dim strSQL As String
   Dim objDataset As New DataSet
   Dim objAdapter As New System.Data.OleDb.OleDbDataAdapter
   'OLEDbDataAdapter 充当了数据源之间的桥梁,
   '在此例是客户表和数据集之间的桥梁。
   strSQL = "Select CustomerID, CompanyName, ContactName, " & _
      "客户的国家/地区和电话"
   objAdapter.SelectCommand = New System.Data.OleDb.OleDbCommand( _
      strSQL, objConn)
   objAdapter.Fill(objDataset)
   '创建要使用的 FileStream。
   Dim strFilename As String
   strFilename = "C:\Customers.xml"
   Dim fs As New System.IO.FileStream(strFilename, _
      System.IO.FileMode.Create)
   '为 FileStream 创建 XmlTextWriter。
   Dim xtw As New System.Xml.XmlTextWriter(fs, _
      System.Text.Encoding.Unicode)
   '将处理指令添加到 XML 文件的开头,
   ' 注释其中一个指示样式表的处理指令。
   xtw.WriteProcessingInstruction("xml", "version='1.0'")
   'xtw.WriteProcessingInstruction( _
      '"xml-stylesheet", "type='text/xsl' href='customers.xsl'")
   '将 XML 从数据集写入文件。
   objDataset.WriteXml(xtw)
   xtw.Close()
   MsgBox("客户数据已导出至 C:\Customers.xml。")
Catch ex As Exception
   MsgBox(ex.Message)
End Try

6.

按 F5 键创建并运行程序。

7.

单击 Button1 创建 XML 文件,然后关闭 Form1 以结束程序。

8.

启动 Excel,打开 C:\Customers.xml 输出文件。

9.

查看了 Excel 解析 XML 并对应到新工作簿中的行和列之后,关闭该文件并退出 Excel。

 

使用样式表设置 XML 的格式。

此步骤显示如何使用可扩展样式语言 (XSL) 样式表来转换 Excel 工作簿设置 XML 数据格式及组织 XML 数据的方式。

注意:在 XML 样式表文件中,XML 标记描述了文本文件中的数据,但 XML 单独不能指定如何向用户显示数据。XML 数据格式的设置规则常包含在 XSL 样式表中。XML 样式表是格式正确的 XML 文档,它可以使用 XSL 来转换 XML 数据以备显示。相同的 XML 数据可以有很多样式表。尽管实际的 XML 数据结构可能相同,但 XSL 样式表可将数据灵活显示为很多不同的格式。

1.

使用任意 HTML 编辑器或文本编辑器(如 Microsoft 记事本),将以下 XSL 保存为 C:\Customers.xsl:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:template match="/">
    <HTML>
      <HEAD>
        <STYLE>   
          .HDR { background-color:bisque;font-weight:bold }
        </STYLE>
      </HEAD>
      <BODY>
        <TABLE>
          <COLGROUP WIDTH="100" ALIGN="CENTER"></COLGROUP>
          <COLGROUP WIDTH="200" ALIGN="LEFT"></COLGROUP>
          <COLGROUP WIDTH="200" ALIGN="LEFT"></COLGROUP>
          <COLGROUP WIDTH="100" ALIGN="LEFT"></COLGROUP>
          <COLGROUP WIDTH="100" ALIGN="LEFT"></COLGROUP>
          <TD CLASS="HDR">客户 ID</TD>
          <TD CLASS="HDR">公司</TD>
          <TD CLASS="HDR">联系人</TD>
          <TD CLASS="HDR">国家/地区</TD>
          <TD CLASS="HDR">电话</TD>
          <xsl:for-each select="NewDataSet/Table">
            <TR>
              <TD><xsl:value-of select="CustomerID"/></TD>
              <TD><xsl:value-of select="CompanyName"/></TD>
              <TD><xsl:value-of select="ContactName"/></TD>
              <TD><xsl:value-of select="Country"/></TD>
              <TD><xsl:value-of select="Phone"/></TD>
            </TR>
          </xsl:for-each>
        </TABLE>
      </BODY>
    </HTML>
  </xsl:template>
</xsl:stylesheet>

2.

删除 Button1_Click 处理程序中以下代码行中的注释标记:

xtw.WriteProcessingInstruction( _ "xml-stylesheet", "type='text/xsl' href='customers.xsl'")

该行代码将处理指令写入 XML 文件,而 Excel 要使用该文件定位 XSL 样式表 (Customers.xsl)。

3.

按 F5 键创建并运行程序。

4.

单击 Button1 创建 XML 文件,然后关闭 Form1 以结束程序。

5.

启动 Excel,打开 C:\Customers.xml 输出文件。

6.

由于 Excel 可通过 XML 文件明确 XSL 样式表的处理指令,因此您在打开该文件时会收到一个对话框提醒。在“导入 XML”对话框中,选择“打开该文件,应用以下样式表”。在列表中,选择 Customers.xsl 并单击“确定”。请注意,Excel 根据 XSL 样式表来设置 XML 数据的格式并组织各列。

7.

关闭该文件并退出 Excel。

 

使用代码打开已转换的 XML

此刻,您已使用 Excel 的用户界面打开了 XML 文件。本节说明如何使 Excel 自动按照编程的方式来打开工作簿。以下示例说明如何先将 DataSet 对象中的 XML 转换为超文本标记语言 (HTML),然后再打开已转换的 XML(其间无需用户干预)。

1.

在 Visual Basic .NET 项目中,向 Form1 添加另一按钮。

2.

双击 Button2。一旦显示窗体的代码窗口,将以下代码添加到 Button2_Click 处理程序:

    '连接到数据源。
    Dim objConn As New System.Data.OleDb.OleDbConnection(strConn)
Try
    objConn.Open()
    '使用客户表中的记录填充数据集。
    Dim strSQL As String
    Dim objDataset As New DataSet
    Dim objAdapter As New System.Data.OleDb.OleDbDataAdapter
    strSQL = "Select CustomerID, CompanyName, ContactName, " & _
        "客户的国家/地区和电话"
    objAdapter.SelectCommand = New System.Data.OleDb.OleDbCommand( _
        strSQL, objConn)
    objAdapter.Fill(objDataset)
    ' 创建要使用的 FileStream。
    Dim strFilename As String
    strFilename = "C:\Customers.htm"
    Dim fs As New System.IO.FileStream(strFilename, _
        System.IO.FileMode.Create)
    '为 FileStream 创建 XmlTextWriter。
    Dim xtw As New System.Xml.XmlTextWriter(fs, _
        System.Text.Encoding.Unicode)
    '使用样式表转换 XML。
    Dim xmlDoc As System.Xml.XmlDataDocument = _
        New System.Xml.XmlDataDocument(objDataset)
    Dim xslTran As System.Xml.xsl.XslTransform = _
        New System.Xml.Xsl.XslTransform
    xslTran.Load("c:\customers.xsl")
    xslTran.Transform(xmlDoc, Nothing, xtw, Nothing)
    '将已转换的 XML 写入文件。
    objDataset.WriteXml(xtw)
    xtw.Close()
    '启动 Excel 并打开得到的文件。
    Dim oExcel As Object
    oExcel = CreateObject("Excel.Application")
    oExcel.Workbooks.Open("C:\Customers.htm")
    '使 Excel 可见并赋予用户 
    '控制应用程序的权限。
    oExcel.Visible = True
    oExcel.UserControl = True
Catch ex As Exception
    MsgBox(ex.Message)
End Try

3.

按 F5 键创建并运行程序。

4.

单击 Button2 在 Microsoft Excel 中打开已转换的 XML。

注意:尽管 Excel 对象模型的 OpenXML 方法允许您通过编程方式打开 XML 文件并应用样式表,但前一示例并不调用这一方法。因为在自动化客户端使用该方法存在一个已知问题。通过 Excel 宏调用 OpenXML 方法可按预期方式进行;但从自动化客户端中调用此方法,系统会忽略 <StyleSheet> 参数。所谓自动化,即通过一个产品来控制另一产品的过程,最终结果是客户端产品可利用服务器产品的对象、方法和属性。

 

结论

本文介绍了如何根据 XML 生成数据集、如何使用架构设置 XML 数据的格式、如何自动化 Excel 并显示 XML。您可以使用这些操作将重要的功能添加到应用程序中。尝试本文提供的代码示例,您可组合不同操作并增强应用程序的有效性。

发布人:Frank Rice-Microsoft  
分享到:
点击次数:  更新时间:2005-02-11 09:26:03  【打印此页】  【关闭】
上一条:用Excel制作公交向导  下一条:利用Excel 中的信息创建Windows用户账户



相关文章

  • • 在 Excel中 打开Access窗体或者报表的错误原因及解决办法
  • • 为选择的区域添加边框
  • • 如何在Excel中使用文件对话框
  • • 用快捷键实现相对引用和绝对引用快速来回切换
  • • 【技巧】Excel控制特定单元格输入文本的长度
  • • Excel技巧集锦
  • • Excel技巧大汇总
  • • 在word中输出数学符号

热门文章

  • [2005-04-08] 在 Excel 2000 工作表中从 Web 上获取最新数据的方法access数据库
  • [2006-08-19] 在Excel多个工作表间快速切换的绝招access数据库
  • [2005-03-05] 挽救意外损坏的Excel文档access数据库
  • [2005-02-24] Excel 97/VBA技术讲座之六access数据库
  • [2005-02-17] Excel2000 应用案例之二access数据库
  • [2017-10-09] 在 Excel中 打开Access窗体或者报表的错误原因及解决办法access数据库

热门产品

公司动态|在线留言|在线反馈|友情链接|会员中心|站内搜索|网站地图

中山市天鸣科技发展有限公司 版权所有 1999-2023 粤ICP备10043721号

QQ:18449932

Access应用 Access培训 Access开发 Access平台

access|数据库|access下载|access教程|access视频|access软件

Powered by MetInfo 5.3.12 ©2008-2025  www.metinfo.cn