Если на Вашем компьютере установлен Office, то можно с помощью выполнения скрипта создать график в EXCEL. Сначала данные из dbf файла переносятся в EXCEL, а потом на их величинах строится график. Данные и график выводятся в окно для просмотра.
Предоставляю файл ExclGr1.vbs
'*******************************************************************
' Имя: ExclGr1.vbs
' Язык: VBScript
' Описание: Создание графика в EXCEL из данных DBF файла
'*******************************************************************
Option Explicit
' Объявляем переменные
Dim WshShell
Dim loExcel
Dim SDefaultDir
Dim objExcelSheet
Dim objChart
'Создаем объект--приложение Microsoft EXCEL
Set WshShell=WScript.CreateObject("WScript.Shell")
Set loExcel=WScript.CreateObject("EXCEL.Application")
SDefaultDir=WshShell.CurrentDirectory
loExcel.Workbooks.Open(SDefaultDir & "\reestr.dbf")
'+++++++++++++++++ Заголовки полей ++++++++++++++++
' ----------- номер --------
loExcel.cells(1,1).ColumnWidth=6
loExcel.cells(1,1).Value="Номер"
loExcel.cells(1,1).BorderAround(1)
loExcel.cells(1,1).Font.Bold=True
'WITH loExcel
' WITH .Range("A1")
' .ColumnWidth=6
' .Value="Номер"
' .BorderAround(1)
' WITH .Font
' .Bold=True
' END WITH
' END WITH
'END WITH
'----------- месяц ----------
WITH loExcel
WITH .Range("B1")
.ColumnWidth=8
.Value="Месяц"
.BorderAround(1)
WITH .Font
.Bold=True
END WITH
END WITH
END WITH
'---------- Сумма -----------
WITH loExcel
WITH .Range("C1")
.ColumnWidth=8
.Value="Сумма"
.BorderAround(1)
WITH .Font
.Bold=True
END WITH
END WITH
END WITH
'---------- Количество -----------
WITH loExcel
WITH .Range("D1")
.ColumnWidth=11
.Value="Количество"
.BorderAround(1)
WITH .Font
.Bold=True
END WITH
END WITH
END WITH
loExcel.cells(1,1).select
loExcel.Visible=true ' Делаем EXCEL видимым
'objExcelSheet=loExcel.Sheets(1).Range("B2:C13")
'objExcelSheet=loExcel.Sheets("reestr").Range("B2:C13")
'objExcelSheet=loExcel.Sheets("reestr").Range("B1:C1000")
'objExcelSheet=loExcel.Sheets("reestr").Select
SET objExcelSheet=loExcel.Sheets(1)
SET objChart=objExcelSheet.ChartObjects.Add(100,100,500,250)
objExcelSheet.ChartObjects(1).Top=10
objExcelSheet.ChartObjects(1).Left=200
'============================ Правильно 1 вариант ========================
objExcelSheet.ChartObjects(1).Chart.chartwizard _
objExcelSheet.Range("B2:C13"),3,2,2,1,0,1,"Сумма по месяцам","Месяцы","Сумма",""
'================================================================
'======================== Правильно 2 вариант ====================
' objExcelSheet.ChartObjects(1).Chart.chartwizard _
' objExcelSheet.Range(objExcelSheet.Cells(2,2),objExcelSheet.Cells(13,3)) _
' ,3,2,2,1,0,1,"Сумма по месяцам","Месяцы","Сумма",""
'===========================================================
WITH objExcelSheet.ChartObjects(1).Chart
.ChartTitle.Font.Size=12
.Haslegend =False ' --- отключаем легенду
' .Legend.Font.Size = 6
.PlotBy=2
END WITH
WITH objExcelSheet.ChartObjects(1).Chart.Axes(1) ' --- Ось X работает
' .CategoryType = -4105
' .TickLabels.AutoScaleFont = False
' .TickLabels.Font.Size=6
' .TickLabels.Font.Size=1
' .TickLabels.Font.ColorIndex = 2
' .TickLabels.Font.Background = 2
' .TickLabels.Orientation=90 'Вертикальный вид данных шкалы X
END WITH
' WITH objExcelSheet.ChartObjects(1).Chart.Axes(2) ' --- Ось Y работает
' .TickLabels.AutoScaleFont = False
' .TickLabels.Font.Size=6
' END WITH
WITH objExcelSheet.ChartObjects(1).Chart.PlotArea
.Interior.ColorIndex = -4142
END WITH
WITH objExcelSheet.ChartObjects(1).Chart.ChartGroups(1)
.GapWidth = 80
.VaryByCategories=True
END WITH
WITH objExcelSheet.ChartObjects(1).Chart.SeriesCollection(1)
.ApplyDataLabels
.DataLabels.HorizontalAlignment = 1
.DataLabels.VerticalAlignment =1
' .DataLabels.Orientation=90 'Вертикальный вид данных величин
WITH .DataLabels.Font
.Size = 8
.ColorIndex = 1
END WITH
END WITH
objExcelSheet.ChartObjects(1).Activate
objExcelSheet.ChartObjects(1).Select
'Показываем в окне
IF WshShell.AppActivate(loExcel.Caption) = True then
WshShell.SendKeys("% ~")
END IF
Set WshShell = Nothing
Set loExcel = Nothing
WScript.Quit
'************* Конец *********************************************
Для примера дается файл reestr.dbf
Перенос данных из файлов dbf в EXCEL требует времени и зависит от объема файлов и мощности компьютера.
Файлы сохранил в архив Решение1.rar
Пробуйте. Получится вот такая таблица и график. Можете создать собственный перенос.
Ссылка на файл https://yadi.sk/d/JS8Br49j6wMgBQ
Подписывайтесь на мой канал и ставьте лайки.