【Sharepoint工具】Excel宏读取Sharepoint列表数据(VBA)

第一、开发原因:

某些时候Sharepoint列表的操作并不方便,比如数据量大,需要批量处理数据的时候。通过服务器代码有太多限制,比如智能通过B/S发送给用户,速度慢且影响服务器性能。
客户端代码同样有一些慢。

第二、具体界面:

第三具体代码:

Private Sub GetListBut_Click()
On Error GoTo ErrorHandler
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set clsMossHelper = New CMossHelper
    Dim myTable As ListObject
    Dim myRow As ListRow
    Dim listName As String
    Dim xmlDoc As MSXML2.domDocument
    Dim xmlNode As MSXML2.IXMLDOMNode
    Dim xmlAttribute As MSXML2.IXMLDOMAttribute
    Set myTable = ActiveWorkbook.Sheets("Sheet1").ListObjects("Table1")

    clsMossHelper.Init "AAA", "http://AAA:222/yixiaozi"
    listName = "ABC"

    Dim viewName As String
    ‘ForToolUpdate
    viewName = "{f5022e21-7a8d-40c1-b327-d9db9e227f33}"
    ‘viewName = "{324DD64B-ED68-4E86-83D0-321E1AB2D403}"

    For Each myRow In myTable.ListRows

        Dim query As String

        query = "<query><Query><Where><Eq><FieldRef Name=‘Title‘ /><Value Type=‘Text‘>"
        query = query & myRow.Range.Columns(1).Value
        query = query & "</Value>"
        query = query & "</Eq></Where></Query></query>"

        ‘query = "<query><Query><Where><And><Eq><FieldRef Name=‘Title‘ /><Value Type=‘Text‘>"
        ‘query = query & "a"
        ‘query = query & "</Value>"
        ‘query = query & "</Eq><Eq><FieldRef Name=‘description‘ /><Value Type=‘Text‘>"
        ‘query = query & "2"
        ‘query = query & "</Value></Eq></And></Where></Query></query>"

        Dim blnFlag As Boolean
        Dim errorMsg As String
        Dim retData As String

        blnFlag = clsMossHelper.GetListItems(listName, viewName, query, retData, errorMsg)
        If blnFlag = True Then

            Set xmlDoc = New MSXML2.domDocument

            xmlDoc.LoadXML retData
            For Each xmlNode In xmlDoc.SelectNodes("//rs:data/z:row")
            Dim description

            Set description = xmlNode.Attributes.getNamedItem("ows_description")

                If description Is Nothing Then
                    description = ""
                Else
                    description = description.Text
                End If

               myRow.Range.Columns(2).Value = description
            Next
        Else
            MsgBox errorMsg
        End If
    Next
    Set xmlAttribute = Nothing
    Set xmlNode = Nothing
    Set xmlDoc = Nothing

    Set clsMossHelper = Nothing

    Application.ScreenUpdating = True
    Application.DisplayAlerts = True

    MsgBox "OK"
Exit Sub

ErrorHandler:

    If Not xmlAttribute Is Nothing Then
        Set xmlAttribute = Nothing
    End If

    If Not xmlNode Is Nothing Then
        Set xmlNode = Nothing
    End If

    If Not xmlDoc Is Nothing Then
        Set xmlDoc = Nothing
    End If

    If Not clsMossHelper Is Nothing Then
        Set clsMossHelper = Nothing
    End If

    Application.ScreenUpdating = True
    Application.DisplayAlerts = True

    MsgBox Err.description

End Sub

第四:Excel文件。

http://files.cnblogs.com/files/yixiaozi/getListData.zip

时间: 2024-10-25 00:24:49

【Sharepoint工具】Excel宏读取Sharepoint列表数据(VBA)的相关文章

SharePoint2010沙盒解决方案基础开发——开发webpart读取绑定列表数据,并以一定的格式显示(加css样式)

SharePoint2010沙盒解决方案基础开发——开发webpart读取绑定列表数据,并以一定的格式显示(加css样式) 分类: SharePoint2011-12-22 15:13 1974人阅读 评论(2) 收藏 举报 sharepointcss2010classbordernull SharePoint2010沙盒解决方案基础开发——开发webpart读取绑定列表数据,并以一定的格式显示(加css样式) 注:此实例无需添加数据控件,避免了一些繁琐的代码 实现效果如下: 读取数据和图片,并

[SharePoint 2010]Excel Services in SharePoint 2010 REST API 使用语法

摘要:Excel Services in SharePoint 2010 REST API 使用语法 在之前 SharePoint 2007 若要在Web 上呈现Excel文件只能透过 Excel Services 方式, 现在在SharePoint 2010 除了原本Excel Services 的功能, 它更提供了 Excel Services REST API 透过 URI (Uniform Resource Identifier) 将数据显示在Web browser. 下面是将一个在Sh

SharePoint集成Excel数据和Excel Web Access Web部件

SharePoint集成Excel数据和Excel Web Access Web部件 Excel Web Access Web部件在SharePoint中Excel电子表单里呈现数据. 1. 打开Excel 2010.创建空白工作薄. 2. 添加数据. 3. 点击另存为,选择文档库,点击确定,选择文档,点击确定. 4. 也可以添加Web部件. 5. 编辑部件,输入Excel的URL. SharePoint集成Excel数据和Excel Web Access Web部件,布布扣,bubuko.co

SharePoint综合Excel数据与Excel Web Access Web部分

SharePoint综合Excel数据与Excel Web Access Web部分 Excel Web Access Web零件SharePoint于Excel以电子形式提交数据. 1. 打开Excel 2010.创建空白工作薄. 2. 加入数据. 3. 点击另存为.选择文档库,点击确定,选择文档,点击确定. 4. 也能够加入Web部件. 5. 编辑部件,输入Excel的URL. 版权声明:本文博主原创文章.博客,未经同意不得转载.

使用client对象模型读取SharePoint列表数据

使用client对象模型读取SharePoint列表数据 client对象模型提供了强有力的方式.从远程client应用程序管理列表. 1. 管理员身份打开VS,新建项目Windows窗口应用程序,命名ReadSPListData,确保选择.NET Framework 3.5. 2. 加入控件. 控件类型: 3. 你必须加入一个类ProductInfo. namespace ReadSPListData { class ProductInfo { public string productNam

使用客户端对象模型读取SharePoint列表数据

使用客户端对象模型读取SharePoint列表数据 客户端对象模型提供了强有力的方式,从远程客户端应用程序管理列表. 1. 管理员身份打开VS,新建项目Windows窗体应用程序,命名ReadSPListData,确保选择.NET Framework 3.5. 2. 添加控件. 控件类型: 3. 你必须添加一个类ProductInfo. 4. 双击两个按钮,添加方法.首先是Exit: 5. 然后是Load.首先要添加合适的引用.右击项目,添加引用Microsoft.SharePoint.Clie

SharePoint服务器端对象模型 之 访问网站和列表数据(Part 5)

(五)列表条目(SPListItem) SharePoint中数据的存储基本上都是通过列表条目来完成(文档库中的文档也是一种特殊的列表条目),因此在SharePoint应用开发中,最终是要和列表条目打交道的.在SharePoint对象模型中,使用SPListItem表示列表条目,使用SPListItemCollection表示列表条目集合.   1.列表条目的获取 列表条目的获取有多种方式,一些常用方式如下: (1) 通过SPList的Items属性,获取列表中的所有条目(不包括文件夹本身对应的

SharePoint服务器端对象模型 之 访问网站和列表数据(Part 2)

(二)列表(SPList) 列表是SharePoint中最为重要的数据容器,我们一般保存在SharePoint中的所有数据,都是保存在列表中(文档库也是一种列表),因此列表对象在SharePoint的开发中是非常重要的对象之一.在SharePoint中,列表对象使用SPList表示,列表的集合使用SPListCollection表示. 如果实在难以理解SharePoint列表是怎么一回事的话,可以设想如下这种其实不准确的比喻,与传统的数据类型相比较,有如下的对应关系:列表(SPList)相当于数

SharePoint列表数据展现方法

方法1: Guid guid = new Guid ("{8238B046-EC5F-46B6-8E18-028F77EC2620}"); SPSite Asite = new SPSite ("http://mosslt/"); SPList list = Asite.RootWeb.Lists[guid]; SPQuery query = new SPQuery(); query.Query = @"<OrderBy> <FieldR