Вроде третий компонент.
This commit is contained in:
parent
74c7c849f2
commit
f1dbb5e420
@ -32,12 +32,16 @@
|
|||||||
componentWord = new VisualComponentsLib.Components.ComponentWord(components);
|
componentWord = new VisualComponentsLib.Components.ComponentWord(components);
|
||||||
buttonFirstTask = new Button();
|
buttonFirstTask = new Button();
|
||||||
groupBox1 = new GroupBox();
|
groupBox1 = new GroupBox();
|
||||||
|
groupBox2 = new GroupBox();
|
||||||
|
buttonThirdTask = new Button();
|
||||||
|
componentWordHistogram = new VisualComponentsLib.Components.ComponentWordHistogram(components);
|
||||||
groupBox1.SuspendLayout();
|
groupBox1.SuspendLayout();
|
||||||
|
groupBox2.SuspendLayout();
|
||||||
SuspendLayout();
|
SuspendLayout();
|
||||||
//
|
//
|
||||||
// buttonFirstTask
|
// buttonFirstTask
|
||||||
//
|
//
|
||||||
buttonFirstTask.Location = new Point(55, 40);
|
buttonFirstTask.Location = new Point(22, 32);
|
||||||
buttonFirstTask.Name = "buttonFirstTask";
|
buttonFirstTask.Name = "buttonFirstTask";
|
||||||
buttonFirstTask.Size = new Size(75, 23);
|
buttonFirstTask.Size = new Size(75, 23);
|
||||||
buttonFirstTask.TabIndex = 0;
|
buttonFirstTask.TabIndex = 0;
|
||||||
@ -48,22 +52,44 @@
|
|||||||
// groupBox1
|
// groupBox1
|
||||||
//
|
//
|
||||||
groupBox1.Controls.Add(buttonFirstTask);
|
groupBox1.Controls.Add(buttonFirstTask);
|
||||||
groupBox1.Location = new Point(45, 12);
|
groupBox1.Location = new Point(12, 12);
|
||||||
groupBox1.Name = "groupBox1";
|
groupBox1.Name = "groupBox1";
|
||||||
groupBox1.Size = new Size(200, 100);
|
groupBox1.Size = new Size(120, 79);
|
||||||
groupBox1.TabIndex = 1;
|
groupBox1.TabIndex = 1;
|
||||||
groupBox1.TabStop = false;
|
groupBox1.TabStop = false;
|
||||||
groupBox1.Text = "Простая таблица";
|
groupBox1.Text = "Простая таблица";
|
||||||
//
|
//
|
||||||
|
// groupBox2
|
||||||
|
//
|
||||||
|
groupBox2.Controls.Add(buttonThirdTask);
|
||||||
|
groupBox2.Location = new Point(154, 12);
|
||||||
|
groupBox2.Name = "groupBox2";
|
||||||
|
groupBox2.Size = new Size(129, 79);
|
||||||
|
groupBox2.TabIndex = 2;
|
||||||
|
groupBox2.TabStop = false;
|
||||||
|
groupBox2.Text = "Третье задание";
|
||||||
|
//
|
||||||
|
// buttonThirdTask
|
||||||
|
//
|
||||||
|
buttonThirdTask.Location = new Point(27, 32);
|
||||||
|
buttonThirdTask.Name = "buttonThirdTask";
|
||||||
|
buttonThirdTask.Size = new Size(75, 23);
|
||||||
|
buttonThirdTask.TabIndex = 0;
|
||||||
|
buttonThirdTask.Text = "Создать";
|
||||||
|
buttonThirdTask.UseVisualStyleBackColor = true;
|
||||||
|
buttonThirdTask.Click += ButtonThirdTask_Click;
|
||||||
|
//
|
||||||
// FormWord
|
// FormWord
|
||||||
//
|
//
|
||||||
AutoScaleDimensions = new SizeF(7F, 15F);
|
AutoScaleDimensions = new SizeF(7F, 15F);
|
||||||
AutoScaleMode = AutoScaleMode.Font;
|
AutoScaleMode = AutoScaleMode.Font;
|
||||||
ClientSize = new Size(295, 123);
|
ClientSize = new Size(295, 103);
|
||||||
|
Controls.Add(groupBox2);
|
||||||
Controls.Add(groupBox1);
|
Controls.Add(groupBox1);
|
||||||
Name = "FormWord";
|
Name = "FormWord";
|
||||||
Text = "Невизуальные компоненты";
|
Text = "Невизуальные компоненты";
|
||||||
groupBox1.ResumeLayout(false);
|
groupBox1.ResumeLayout(false);
|
||||||
|
groupBox2.ResumeLayout(false);
|
||||||
ResumeLayout(false);
|
ResumeLayout(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,5 +98,8 @@
|
|||||||
private VisualComponentsLib.Components.ComponentWord componentWord;
|
private VisualComponentsLib.Components.ComponentWord componentWord;
|
||||||
private Button buttonFirstTask;
|
private Button buttonFirstTask;
|
||||||
private GroupBox groupBox1;
|
private GroupBox groupBox1;
|
||||||
|
private GroupBox groupBox2;
|
||||||
|
private Button buttonThirdTask;
|
||||||
|
private VisualComponentsLib.Components.ComponentWordHistogram componentWordHistogram;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -8,13 +8,14 @@ using System.Text;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VisualComponentsLib.Components.SupportClasses;
|
using VisualComponentsLib.Components.SupportClasses;
|
||||||
|
using VisualComponentsLib.Components.SupportClasses.Enums;
|
||||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
|
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
|
||||||
|
|
||||||
namespace VisualComponentsForm
|
namespace VisualComponentsForm
|
||||||
{
|
{
|
||||||
public partial class FormWord : Form
|
public partial class FormWord : Form
|
||||||
{
|
{
|
||||||
SimpleTable simpleTable;
|
SimpleTable table;
|
||||||
|
|
||||||
string[,] first = {
|
string[,] first = {
|
||||||
{ "Первый", "Второй" }
|
{ "Первый", "Второй" }
|
||||||
@ -28,6 +29,8 @@ namespace VisualComponentsForm
|
|||||||
{ "Пятый", "Шестой" }
|
{ "Пятый", "Шестой" }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
SimpleHistogram histogram;
|
||||||
|
|
||||||
public FormWord()
|
public FormWord()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@ -45,9 +48,37 @@ namespace VisualComponentsForm
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
simpleTable = new(dialog.FileName, "Первое задание", new List<string[,]> { first, second, third });
|
table = new(dialog.FileName, "Первое задание", new List<string[,]> { first, second, third });
|
||||||
|
|
||||||
componentWord.CreateDoc(simpleTable);
|
componentWord.CreateDoc(table);
|
||||||
|
|
||||||
|
MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonThirdTask_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
//фильтрация файлов для диалогового окна
|
||||||
|
using var dialog = new SaveFileDialog
|
||||||
|
{
|
||||||
|
Filter = "docx|*.docx"
|
||||||
|
};
|
||||||
|
|
||||||
|
if (dialog.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
histogram = new(dialog.FileName, "Третье задание", "Гистограмма", EnumAreaLegend.Right, new List<DataHistogram> {
|
||||||
|
new DataHistogram("Доход", "Январь", "300"), new DataHistogram("Доход", "Апрель", "600"),
|
||||||
|
new DataHistogram("Доход", "Июль", "400"), new DataHistogram("Доход", "Октябрь", "200")
|
||||||
|
});
|
||||||
|
|
||||||
|
componentWordHistogram.AddHistogram(histogram);
|
||||||
|
|
||||||
MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
}
|
}
|
||||||
|
@ -120,4 +120,7 @@
|
|||||||
<metadata name="componentWord.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="componentWord.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>17, 17</value>
|
<value>17, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
<metadata name="componentWordHistogram.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>162, 17</value>
|
||||||
|
</metadata>
|
||||||
</root>
|
</root>
|
@ -8,6 +8,10 @@
|
|||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Aspose.Words" Version="23.10.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\VisualComponentsLib\VisualComponentsLib.csproj" />
|
<ProjectReference Include="..\..\VisualComponentsLib\VisualComponentsLib.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
using System;
|
using Aspose.Words;
|
||||||
using System.Collections.Generic;
|
using Aspose.Words.Drawing;
|
||||||
|
using Aspose.Words.Drawing.Charts;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Diagnostics;
|
using VisualComponentsLib.Components.SupportClasses;
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace VisualComponentsLib.Components
|
namespace VisualComponentsLib.Components
|
||||||
{
|
{
|
||||||
@ -21,5 +20,85 @@ namespace VisualComponentsLib.Components
|
|||||||
|
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//создание таблицы
|
||||||
|
public void AddHistogram(SimpleHistogram simpleHistogram)
|
||||||
|
{
|
||||||
|
if (!CheckData(simpleHistogram.DataList))
|
||||||
|
{
|
||||||
|
throw new Exception("Не данные заполнены");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize document
|
||||||
|
Document doc = new Document();
|
||||||
|
DocumentBuilder builder = new DocumentBuilder(doc);
|
||||||
|
|
||||||
|
// Specify font formatting
|
||||||
|
Aspose.Words.Font font = builder.Font;
|
||||||
|
font.Size = 24;
|
||||||
|
font.Bold = true;
|
||||||
|
font.Color = System.Drawing.Color.Black;
|
||||||
|
font.Name = "Times New Roman";
|
||||||
|
|
||||||
|
// Specify paragraph formatting
|
||||||
|
ParagraphFormat paragraphFormat = builder.ParagraphFormat;
|
||||||
|
paragraphFormat.FirstLineIndent = 8;
|
||||||
|
paragraphFormat.SpaceAfter = 24;
|
||||||
|
paragraphFormat.Alignment = ParagraphAlignment.Center;
|
||||||
|
paragraphFormat.KeepTogether = true;
|
||||||
|
|
||||||
|
builder.Writeln(simpleHistogram.FileName);
|
||||||
|
|
||||||
|
// Добавьте диаграмму с данными по умолчанию. Вы можете указать различные типы и размеры диаграмм.
|
||||||
|
Shape shape = builder.InsertChart(ChartType.Column, 500, 270);
|
||||||
|
|
||||||
|
// Свойство диаграммы формы содержит все параметры, связанные с диаграммой.
|
||||||
|
Chart chart = shape.Chart;
|
||||||
|
|
||||||
|
chart.Title.Text = simpleHistogram.HistogramName;
|
||||||
|
|
||||||
|
// Получите коллекцию серий диаграмм.
|
||||||
|
ChartSeriesCollection seriesColl = chart.Series;
|
||||||
|
|
||||||
|
// Проверьте количество серий.
|
||||||
|
Console.WriteLine(seriesColl.Count);
|
||||||
|
|
||||||
|
// Удалить серию, сгенерированную по умолчанию.
|
||||||
|
seriesColl.Clear();
|
||||||
|
|
||||||
|
// Создайте массив имен категорий
|
||||||
|
string[] categories = new string[] { simpleHistogram.DataList[0].NameSeries };
|
||||||
|
|
||||||
|
// Добавление новых серий. Обратите внимание, что массивы данных не должны быть пустыми, а массивы должны быть одного размера.
|
||||||
|
foreach (var data in simpleHistogram.DataList)
|
||||||
|
{
|
||||||
|
seriesColl.Add(data.NameData, categories, new double[] { double.Parse(data.Data) });
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move the chart's legend to the top right corner.
|
||||||
|
ChartLegend legend = chart.Legend;
|
||||||
|
|
||||||
|
legend.Position = (LegendPosition)simpleHistogram.AreaLegend;
|
||||||
|
|
||||||
|
// Give other chart elements, such as the graph, more room by allowing them to overlap the legend.
|
||||||
|
legend.Overlay = true;
|
||||||
|
|
||||||
|
// Сохраните документ
|
||||||
|
doc.Save(simpleHistogram.FilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
//проверка заполненности входных значений
|
||||||
|
static bool CheckData(List<DataHistogram> data)
|
||||||
|
{
|
||||||
|
foreach (var _data in data)
|
||||||
|
{
|
||||||
|
if(string.IsNullOrEmpty(_data.NameSeries) || string.IsNullOrEmpty(_data.Data))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace VisualComponentsLib.Components.SupportClasses
|
||||||
|
{
|
||||||
|
public class DataHistogram
|
||||||
|
{
|
||||||
|
public string NameSeries { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string NameData { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string Data { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public DataHistogram(string nameSeries, string nameData, string data)
|
||||||
|
{
|
||||||
|
NameSeries = nameSeries;
|
||||||
|
NameData = nameData;
|
||||||
|
Data = data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace VisualComponentsLib.Components.SupportClasses.Enums
|
||||||
|
{
|
||||||
|
public enum EnumAreaLegend
|
||||||
|
{
|
||||||
|
None,
|
||||||
|
|
||||||
|
Left,
|
||||||
|
|
||||||
|
Top,
|
||||||
|
|
||||||
|
Right,
|
||||||
|
|
||||||
|
Bottom,
|
||||||
|
|
||||||
|
TopRight,
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using VisualComponentsLib.Components.SupportClasses.Enums;
|
||||||
|
|
||||||
|
namespace VisualComponentsLib.Components.SupportClasses
|
||||||
|
{
|
||||||
|
public class SimpleHistogram
|
||||||
|
{
|
||||||
|
public string FilePath = string.Empty;
|
||||||
|
|
||||||
|
public string FileName = string.Empty;
|
||||||
|
|
||||||
|
public string HistogramName = string.Empty;
|
||||||
|
|
||||||
|
public EnumAreaLegend AreaLegend;
|
||||||
|
|
||||||
|
public List<DataHistogram> DataList = new();
|
||||||
|
|
||||||
|
public SimpleHistogram(string filePath, string fileName, string histogramName, EnumAreaLegend areaLegend, List<DataHistogram> dataList)
|
||||||
|
{
|
||||||
|
FilePath = filePath;
|
||||||
|
FileName = fileName;
|
||||||
|
HistogramName = histogramName;
|
||||||
|
AreaLegend = areaLegend;
|
||||||
|
DataList = dataList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -9,6 +9,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Aspose.Words" Version="23.10.0" />
|
||||||
<PackageReference Include="DocumentFormat.OpenXml" Version="2.20.0" />
|
<PackageReference Include="DocumentFormat.OpenXml" Version="2.20.0" />
|
||||||
<PackageReference Include="FreeSpire.Doc" Version="11.6.0" />
|
<PackageReference Include="FreeSpire.Doc" Version="11.6.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
Loading…
Reference in New Issue
Block a user