/// <summary> /// Add a Pie chart to a document. /// </summary> public static void PieChart() { Console.WriteLine("\tPieChart()"); // Creates a document using (var document = DocX.Create(ChartSample.ChartSampleOutputDirectory + @"PieChart.docx")) { // Add a title document.InsertParagraph("Pie Chart").FontSize(15d).SpacingAfter(50d).Alignment = Alignment.center; // Create a pie chart. var c = new PieChart(); c.AddLegend(ChartLegendPosition.Left, false); // Create the data. var brazil = ChartData.CreateBrazilExpenses(); // Create and add series var s1 = new Series("Brazil"); s1.Bind(brazil, "Category", "Expenses"); c.AddSeries(s1); // Insert chart into document document.InsertParagraph("Expenses(M$) for selected categories in Brazil").FontSize(15).SpacingAfter(10d); document.InsertChart(c); document.Save(); Console.WriteLine("\tCreated: PieChart.docx\n"); } }
private static Chart CreateBarChart(Series series) { PieChart pieChart = new PieChart(); pieChart.AddLegend(ChartLegendPosition.Top, false); pieChart.AddSeries(series); return(pieChart); }
private static Chart CreatePieChart(Info info) { PieChart pieChart = new PieChart(); pieChart.AddLegend(ChartLegendPosition.Left, false); pieChart.AddSeries(GetSeriesFirst(info)); return(pieChart); }
private static Xceed.Words.NET.Chart CreatePieChart() { // создаём круговую диаграмму PieChart pieChart = new PieChart(); // добавляем легенду слева от диаграммы pieChart.AddLegend(ChartLegendPosition.Left, false); // создаём набор данных и добавляем на диаграмму pieChart.AddSeries(TestData.GetSeriesFirst()); return(pieChart); }
private static Chart CreatePieChart(Series series) { // создаём круговую диаграмму PieChart pieChart = new PieChart(); // добавляем легенду слева от диаграммы pieChart.AddLegend(ChartLegendPosition.Left, false); // создаём набор данных и добавляем на диаграмму pieChart.AddSeries(series); return(pieChart); }
private static void PieChart() { // Create new document. using (DocX document = DocX.Create(@"docs\PieChart.docx")) { // Create chart. PieChart c = new PieChart(); c.AddLegend(ChartLegendPosition.Bottom, false); // Create data. List <ChartData> company2 = ChartData.CreateCompanyList2(); // Create and add series Series s = new Series("Apple"); s.Bind(company2, "Mounth", "Money"); c.AddSeries(s); // Insert chart into document document.InsertParagraph("Diagram").FontSize(20); document.InsertChart(c); document.Save(); } }
public NewBlank ( System.Windows.Forms.DataVisualization.Charting.Chart chartСпросЗаКвартал, System.Windows.Forms.DataVisualization.Charting.Chart chartСпросЗаМесяц ) { string ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath + @"\Resources\doors.mdf;Integrated Security=True;Connect Timeout=30"; Directory.CreateDirectory(Environment.CurrentDirectory + $@"\Отчеты по продажам\{DateTime.Now.Year}\{НазваниеМесяца(DateTime.Now.Month, true)}\"); string path = Environment.CurrentDirectory + $@"\Отчеты по продажам\{DateTime.Now.Year}\{НазваниеМесяца(DateTime.Now.Month, true)}\Отчет по продажам и предыдущий квартал ({НазваниеМесяца(DateTime.Now.Month, true)} {DateTime.Now.Year}).docx"; SqlConnection Connection = new SqlConnection(ConnectionString); DocX document = DocX.Create(path); document.MarginTop = 30; document.MarginLeft = 30; document.MarginRight = 30; document.MarginBottom = 30; document.InsertParagraph($"Дата составления: {DataReturner(DateTime.Now.Day, DateTime.Now.Month, DateTime.Now.Year)}\n"). Font("Times New Roman"). FontSize(11). Alignment = Alignment.right; document.InsertParagraph("Отчет о продажах за текущий месяц и предыдущий квартал\n\n"). Font("Times New Roman"). FontSize(28). Bold(). Alignment = Alignment.center; document.InsertParagraph("На приведенном ниже графике отображен график спроса дверей за месяц:\n") .Font("Times New Roman") .FontSize(12) .Alignment = Alignment.left; #region Составление и заполнение графиков продаж за месяц PieChart WordChart_СпросЗаМесяц = new PieChart(); WordChart_СпросЗаМесяц.AddLegend(ChartLegendPosition.Right, false); try { Connection.Open(); } catch (SqlException) { MessageBox.Show("Проверьте, достаточно ли места на диске, достаточно ли прав у учетной записи для операций с БД (См. справку), файлы MDF и LDF не должны быть помечены \"Только для чтения\". \n\nВозможно стоит попробовать отключить БД и запустить программу еще раз.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } SqlCommand comm = new SqlCommand("SELECT count(id_profil) FROM Profili", Connection); object езультат = comm.ExecuteScalar(); if (езультат != null) { int Количество_профилей = (int)езультат; List <string> Name = new List <string>(); List <int> Value = new List <int>(); Series series = new Series("Спрос товара за месяц, группировка по профилю"); for (int i = 0; i < Количество_профилей; i++) { comm = new SqlCommand($"SELECT profil FROM Profili where id_profil={i + 1}", Connection); string НазваниеПрофиля = (string)comm.ExecuteScalar(); comm = new SqlCommand($"select kolvo from Zakazy where id_profil = {i + 1} and data between '{DateTime.Now.Year}/{DateTime.Now.Month}/01' and '{DateTime.Now.Year}/{DateTime.Now.Month}/{DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month)}'", Connection); езультат = comm.ExecuteScalar(); if (езультат != null) { Name.Add($"{НазваниеПрофиля} ({(int)Результат})"); Value.Add((int)езультат); } } series.Bind(Name, Value); WordChart_СпросЗаМесяц.AddSeries(series); } Connection.Close(); document.InsertChart(WordChart_СпросЗаМесяц); #endregion document.InsertParagraph("\n\nА также диаграмма продаж за предыдущий квартал. Она предоставлена ниже:\n") .Font("Times New Roman") .FontSize(12) .Alignment = Alignment.left; #region Составление и заполнение графиков продаж за предыдущий квартал BarChart WordChart_СпросЗаКвартал = new BarChart(); WordChart_СпросЗаКвартал.AddLegend(ChartLegendPosition.Right, false); WordChart_СпросЗаКвартал.BarDirection = BarDirection.Column; WordChart_СпросЗаКвартал.BarGrouping = BarGrouping.Clustered; WordChart_СпросЗаКвартал.GapWidth = 200; try { Connection.Open(); } catch (SqlException) { MessageBox.Show("Проверьте, достаточно ли места на диске, достаточно ли прав у учетной записи для операций с БД (См. справку), файлы MDF и LDF не должны быть помечены \"Только для чтения\". \n\nВозможно стоит попробовать отключить БД и запустить программу еще раз.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } comm = new SqlCommand("SELECT count(id_profil) FROM Profili", Connection); езультат = comm.ExecuteScalar(); if (езультат != null) { List <string> Name = new List <string>(); List <int> Value = new List <int>(); switch (Statistics.КакойКварталОтобразить()) { case 1: { comm = new SqlCommand($"SELECT sum(kolvo) FROM Zakazy where data between " + $"'{DateTime.Now.Year - 1}/10/01' and " + $"'{DateTime.Now.Year - 1}/10/{DateTime.DaysInMonth(DateTime.Now.Year - 1, 10)}'", Connection); езультат = comm.ExecuteScalar(); if (езультат != null) { Name.Add($"Октябрь ({DateTime.Now.Year - 1}) ({(int)Результат})"); Value.Add((int)езультат); } else { Name.Add($"Октябрь ({DateTime.Now.Year - 1}) (0)"); Value.Add(0); } comm = new SqlCommand($"SELECT sum(kolvo) FROM Zakazy where data between " + $"'{DateTime.Now.Year - 1}/11/01' and " + $"'{DateTime.Now.Year - 1}/11/{DateTime.DaysInMonth(DateTime.Now.Year - 1, 11)}'", Connection); езультат = comm.ExecuteScalar(); if (езультат != null) { Name.Add($"Ноябрь ({DateTime.Now.Year - 1}) ({(int)Результат})"); Value.Add((int)езультат); } else { Name.Add($"Ноябрь ({DateTime.Now.Year - 1}) (0)"); Value.Add(0); } comm = new SqlCommand($"SELECT sum(kolvo) FROM Zakazy where data between " + $"'{DateTime.Now.Year - 1}/12/01' and " + $"'{DateTime.Now.Year - 1}/12/{DateTime.DaysInMonth(DateTime.Now.Year - 1, 12)}'", Connection); езультат = comm.ExecuteScalar(); if (езультат != null) { Name.Add($"Декабрь ({DateTime.Now.Year - 1}) ({(int)Результат})"); Value.Add((int)езультат); } else { Name.Add($"Декабрь ({DateTime.Now.Year - 1}) (0)"); Value.Add(0); } } break; case 2: { comm = new SqlCommand($"SELECT sum(kolvo) FROM Zakazy where data between " + $"'{DateTime.Now.Year}/01/01' and " + $"'{DateTime.Now.Year}/01/{DateTime.DaysInMonth(DateTime.Now.Year, 01)}'", Connection); езультат = comm.ExecuteScalar(); if (езультат != null) { Name.Add($"Январь ({(int)Результат})"); Value.Add((int)езультат); } else { Name.Add($"Январь (0)"); Value.Add(0); } Name.Add($"Январь"); Value.Add((int)comm.ExecuteScalar()); comm = new SqlCommand($"SELECT sum(kolvo) FROM Zakazy where data between " + $"'{DateTime.Now.Year}/02/01' and " + $"'{DateTime.Now.Year}/02/{DateTime.DaysInMonth(DateTime.Now.Year, 02)}'", Connection); езультат = comm.ExecuteScalar(); if (езультат != null) { Name.Add($"Февраль ({(int)Результат})"); Value.Add((int)езультат); } else { Name.Add($"Февраль (0)"); Value.Add(0); } comm = new SqlCommand($"SELECT sum(kolvo) FROM Zakazy where data between " + $"'{DateTime.Now.Year}/03/01' and " + $"'{DateTime.Now.Year}/03/{DateTime.DaysInMonth(DateTime.Now.Year, 03)}'", Connection); езультат = comm.ExecuteScalar(); if (езультат != null) { Name.Add($"Март ({(int)Результат})"); Value.Add((int)езультат); } else { Name.Add($"Март (0)"); Value.Add(0); } } break; case 3: { comm = new SqlCommand($"SELECT sum(kolvo) FROM Zakazy where data between " + $"'{DateTime.Now.Year}/04/01' and " + $"'{DateTime.Now.Year}/04/{DateTime.DaysInMonth(DateTime.Now.Year, 04)}'", Connection); езультат = comm.ExecuteScalar(); if (езультат != null) { Name.Add($"Апрель ({(int)Результат})"); Value.Add((int)езультат); } else { Name.Add($"Апрель (0)"); Value.Add(0); } comm = new SqlCommand($"SELECT sum(kolvo) FROM Zakazy where data between " + $"'{DateTime.Now.Year}/05/01' and " + $"'{DateTime.Now.Year}/05/{DateTime.DaysInMonth(DateTime.Now.Year, 05)}'", Connection); езультат = comm.ExecuteScalar(); if (езультат != null) { Name.Add($"Май ({(int)Результат})"); Value.Add((int)езультат); } else { Name.Add($"Май (0)"); Value.Add(0); } comm = new SqlCommand($"SELECT sum(kolvo) FROM Zakazy where data between " + $"'{DateTime.Now.Year}/06/01' and " + $"'{DateTime.Now.Year}/06/{DateTime.DaysInMonth(DateTime.Now.Year, 06)}'", Connection); езультат = comm.ExecuteScalar(); if (езультат != null) { Name.Add($"Июнь ({(int)Результат})"); Value.Add((int)езультат); } else { Name.Add($"Июнь (0)"); Value.Add(0); } } break; case 4: { comm = new SqlCommand($"SELECT sum(kolvo) FROM Zakazy where data between " + $"'{DateTime.Now.Year}/07/01' and " + $"'{DateTime.Now.Year}/07/{DateTime.DaysInMonth(DateTime.Now.Year, 07)}'", Connection); езультат = comm.ExecuteScalar(); if (езультат != null) { Name.Add($"Июль ({(int)Результат})"); Value.Add((int)езультат); } else { Name.Add($"Июль (0)"); Value.Add(0); } comm = new SqlCommand($"SELECT sum(kolvo) FROM Zakazy where data between " + $"'{DateTime.Now.Year}/08/01' and " + $"'{DateTime.Now.Year}/08/{DateTime.DaysInMonth(DateTime.Now.Year, 08)}'", Connection); езультат = comm.ExecuteScalar(); if (езультат != null) { Name.Add($"Август ({(int)Результат})"); Value.Add((int)езультат); } else { Name.Add($"Август (0)"); Value.Add(0); } comm = new SqlCommand($"SELECT sum(kolvo) FROM Zakazy where data between " + $"'{DateTime.Now.Year}/09/01' and " + $"'{DateTime.Now.Year}/09/{DateTime.DaysInMonth(DateTime.Now.Year, 09)}'", Connection); езультат = comm.ExecuteScalar(); if (езультат != null) { Name.Add($"Сентябрь ({(int)Результат})"); Value.Add((int)езультат); } else { Name.Add($"Сентябрь (0)"); Value.Add(0); } } break; } var series = new Series("Статистика проданных дверей за квартал"); series.Bind(Name, Value); WordChart_СпросЗаКвартал.AddSeries(series); } Connection.Close(); document.InsertChart(WordChart_СпросЗаКвартал); #endregion try { document.Save(); } catch (IOException) { MessageBox.Show($"Ошибка при сохранении. \n\nНе удалось записать в файл. Убедитесь что требуемый файл ({path}) закрыт. \n\nИгнорируйте следующее сообщение"); } MessageBox.Show($"Отчет создан. Он находится в директории: \"{path}\"."); }