我现在要用OWC控件显示EXCEL透视表,不知道从哪下手,请高手指教!!

解决方案 »

  1.   

    给你个例子,是ADO+OWC的,应该大同小异,希望对你有帮助.ReDim arrClass(rdsRecords.RecordCount)
    ReDim arrCR(rdsRecords.RecordCount)
    ReDim arrLoss(rdsRecords.RecordCount)
    rdsRecords.MoveFirst
      k = 1
      Do While Not rdsRecords.EOF
        arrClass(k) = rdsRecords.Fields("测试类型").Value
        arrCR(k) = Format(rdsRecords.Fields("接通率").Value, "###.000")
        arrLoss(k) = 1 - Format(arrCR(k), "###.00")
        k = k + 1
        rdsRecords.MoveNext
      Loop
      rdsRecords.MoveFirst' Process The OfficeChart (2D-Bar)
    With ChartSpace1
      .Clear
      .Charts.Add
      .Charts(0).Type = chChartTypeColumnStacked
      .Charts(0).SeriesCollection.Add
      .Charts(0).SeriesCollection(0).DataLabelsCollection.Add
      .Charts(0).Axes(chAxisPositionLeft).Scaling.Maximum = 1
      For j = 1 To UBound(arrClass)
        .Charts(0).SeriesCollection(0).Caption = "接通率"
        .Charts(0).SeriesCollection(0).SetData chDimCategories, chDataLiteral, arrClass
        .Charts(0).SeriesCollection(0).SetData chDimValues, chDataLiteral, arrCR
        .Charts(0).SeriesCollection(0).DataLabelsCollection(0).HasValue = True
        .Charts(0).SeriesCollection(0).DataLabelsCollection(0).NumberFormat = "##0.00%"
      Next
      .Charts(0).HasLegend = True
      .Charts(0).HasTitle = True
      .Charts(0).Title.Caption = "接通率"
      .Charts(0).Title.Font.Size = 14
      .Charts(0).Title.Font.Underline = True
      .Charts(0).Axes(chAxisPositionLeft).NumberFormat = "#00.00%"
      .Charts(0).Axes(chAxisPositionLeft).Font.Size = 10
      .Charts(0).Axes(chAxisPositionBottom).Font.Size = 10
      .Charts(0).Legend.Font.Size = 9
      .Charts(0).Axes(chAxisPositionLeft).MajorUnit = 0.1
    End With
    ' End Process控件的其他属性和方法请查看控件的帮助文件.