• SharePoint中报表选择


    Office 365中制作报表的方式很多。

    这里介绍下使用js获取SharePoint List实现报表的一种方法 

    资源

    先看效果, 要实现一个饼图

    看代码

    详细代码解释见原文(原文中的代码有点小问题,修复后的代码如下)  http://www.sharepointdeveloperhq.com/2013/05/utilizing-spservices-for-sharepoint-2010-to-create-charts-with-high-charts/

     1 <script src="/sites/target3/Theme/jquery.min.js" type="text/javascript"></script>
     2 <script src="/sites/target3/Theme/highcharts.js" type="text/javascript"></script>
     3 <script src="/sites/target3/Theme/jquery.SPServices-2013.01.js" type="text/javascript"></script>
     4 <script src="/sites/target3/Theme/underscore.js" type="text/javascript"></script>
     5 <script type="text/javascript">
     6     $(document).ready(function () {
     7        $().SPServices({
     8             operation: "GetListItems",
     9             CAMLQuery: "<Query><OrderBy><FieldRef Name='Location'/></OrderBy></Query>",
    10             CAMLViewFields: "<ViewFields><FieldRef Name='Title'/><FieldRef Name='Date_x0020_of_x0020_Sighting'/><FieldRef Name='Action'/><FieldRef Name='Location'/></ViewFields>",
    11             listName: "owl seen",
    12             completefunc: processData
    13         });
    14     });
    15  
    16     function processData (xData, status) {
    17         var owlData = [];
    18         $(xData.responseXML).SPFilterNode("z:row").each(function () {
    19             owlData.push({
    20                 owl:        $(this).attr('ows_Title'),
    21                 date:       $(this).attr('ows_Date_x0020_of_x0020_Sighting'),
    22                 action:     $(this).attr('ows_Action'),
    23                 location:   $(this).attr('ows_Location')
    24             });
    25         });
    26 
    27         var chartData = [];
    28         var locationData = _.groupBy(owlData, 'location');
    29 
    30         $.each(locationData, function(row) {
    31             var locCount = row.length;
    32 
    33             chartData.push( {
    34                 name:   row[0].location,
    35                 y:      locCount
    36             });
    37  
    38         });
    39 
    40         renderChart (chartData);
    41     }
    42  
    43     function renderChart (data) {
    44         var chart = new Highcharts.Chart({
    45             chart: {
    46                 renderTo: 'owlchart',
    47                 plotBackgroundColor: null,
    48                 plotBorderWidth: null,
    49                 plotShadow: false
    50             },
    51             credits: {
    52                 enabled: true
    53             },
    54             title: {
    55                 text: 'Owl Sightings by Location'
    56             },
    57             tooltip: {
    58                 pointFormat: '{series.name}: <b>{point.percentage}%</b> {point.y} Times',
    59                 percentageDecimals: 1
    60             },
    61             plotOptions: {
    62                 pie: {
    63                     allowPointSelect: true,
    64                     cursor: 'pointer',
    65                     dataLabels: {
    66                         enabled: true,
    67                         color: '#000000',
    68                         connectorColor: '#000000',
    69                         formatter: function() {
    70                             return '<b>'+ this.point.name +'</b>: '+ this.y +' Times';
    71                         }
    72                     },
    73                 }
    74             },
    75             series: [{
    76                 type: 'pie',
    77                 name: 'Location Count',
    78                 data: data
    79             }]
    80         });
    81     }
    82 </script>
    83 <div id="owlchart">​​​​​​​​</div> 

    Thanks,

    Ivan

  • 相关阅读:
    ipad与windows互传文件(不需要安装app)
    为WordPress所有的Tags标签添加Nofollow
    为什么应该用网站来替代电商平台是开网店?
    实体转JSON时,值为null的字段丢失问题
    finally 与 return
    URI, URL, and URN
    HTTP
    EasyPoi 一对多数据导入 null值问题
    热点探测
    elasticsearch数据操作02
  • 原文地址:https://www.cnblogs.com/ilazysoft/p/3388449.html
Copyright © 2020-2023  润新知