Изменение размера бара диаграммы с помощью Epplus в VB - PullRequest
0 голосов
/ 07 июня 2018

Я совершенно новичок в EPPlus.У меня есть следующий код, который генерирует диаграмму, где размер баров изменяется в зависимости от количества строк.если предоставлена ​​только одна строка данных, создается одна большая панель.если я буду больше номеров строки данных, если меньше бар становится.Как мне исправить это как один размер?

Dim barChart1 As OfficeOpenXml.Drawing.Chart.ExcelBarChart = worksheet5.Drawings.AddChart("BarChart1", OfficeOpenXml.Drawing.Chart.eChartType.ColumnStacked)
        barChart1.Style = OfficeOpenXml.Drawing.Chart.eChartStyle.Style27

        Dim startColConsumable As String = "D"
        Dim startRangeCol As String = "B"
        Dim startColIndex As Integer = 10
        Dim endColIndex As Integer = totalRow - 1
        Dim endRangeCol As String = "C"
        Dim startColUncommitted As String = "I"



        Dim consumableSeries As OfficeOpenXml.Drawing.Chart.ExcelBarChartSerie = barChart1.Series.Add(worksheet.Cells(String.Concat(startColConsumable, startColIndex.ToString(), ":", startColConsumable, endColIndex.ToString())), worksheet.Cells(String.Concat(startRangeCol, startColIndex.ToString(), ":", endRangeCol, endColIndex.ToString())))
        Dim uncommittedSeries As OfficeOpenXml.Drawing.Chart.ExcelBarChartSerie = barChart1.Series.Add(worksheet.Cells(String.Concat(startColUncommitted, startColIndex.ToString(), ":", startColUncommitted, endColIndex.ToString())), worksheet.Cells(String.Concat(startRangeCol, startColIndex.ToString(), ":", endRangeCol, endColIndex.ToString())))

        consumableSeries.Header = "Current FY V0 Consumable"
        consumableSeries.Fill.Color = System.Drawing.Color.FromArgb(204, 51, 0)
        consumableSeries.DataLabel.ShowValue = True
        'consumableSeries.DataLabel.ShowLeaderLines = True

        uncommittedSeries.Header = "Current FY V0 Uncommitted"
        uncommittedSeries.Fill.Color = System.Drawing.Color.FromArgb(51, 153, 255)
        uncommittedSeries.DataLabel.ShowValue = True
        'uncommittedSeries.DataLabel.ShowLeaderLines = True

        barChart1.Title.Text = "FY 2018 Consumable vs Uncommitted"
        barChart1.SetPosition(4, 4, 4, 4)
        barChart1.XAxis.Title.Text = "Func Area 5 and Fund Center"
        barChart1.YAxis.Title.Text = "Amount"
        barChart1.XAxis.Title.Font.Size = "15"
        barChart1.YAxis.Title.Font.Size = "15"
        barChart1.DataLabel.ShowPercent = True
        barChart1.SetSize(1540, 880) // fixed chart size
        barChart1.DataLabel.ShowValue = True
        barChart1.DataLabel.ShowLeaderLines = True
        barChart1.DataLabel.Separator = ";"

        barChart1.GapWidth = 40 'space between adjacent bars

            End If

Заранее спасибо.

1 Ответ

0 голосов
/ 25 июня 2018

Я пытался изменить площадь участка: это помогло мне.

If worksheet.Cells(String.Concat(startColConsumable, startColIndex.ToString(), ":", startColConsumable, endColIndex.ToString())).Count = 1 Then
            barChart1.SetSize(500, 880)
        ElseIf worksheet.Cells(String.Concat(startColConsumable, startColIndex.ToString(), ":", startColConsumable, endColIndex.ToString())).Count = 2 Then
            barChart1.SetSize(700, 880)
end if 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...