public static Series CreateSeries(List <String> Legend, List <int> Values) { Series series = new Series(""); series.Bind(Legend, Values); return(series); }
public static Series GetSeries(List <DiagramModel> list, string name) { Series series = new Series(name); series.Bind(list, "Scholarship", "Count"); return(series); }
private static void LineChart() { // Create new document. using (DocX document = DocX.Create(@"docs\LineChart.docx")) { // Create chart. LineChart c = new LineChart(); c.AddLegend(ChartLegendPosition.Bottom, false); // Create data. List <ChartData> company1 = ChartData.CreateCompanyList1(); List <ChartData> company2 = ChartData.CreateCompanyList2(); // Create and add series Series s1 = new Series("Microsoft"); s1.Color = Color.GreenYellow; s1.Bind(company1, "Mounth", "Money"); c.AddSeries(s1); Series s2 = new Series("Apple"); s2.Bind(company2, "Mounth", "Money"); c.AddSeries(s2); // Insert chart into document document.InsertParagraph("Diagram").FontSize(20); document.InsertChart(c); document.Save(); } }
/// <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"); } }
/// <summary> /// Add a 3D bar chart to a document. /// </summary> /// public static void Chart3D() { Console.WriteLine("\tChart3D)"); // Creates a document using (DocX document = DocX.Create(ChartSample.ChartSampleOutputDirectory + @"3DChart.docx")) { // Add a title document.InsertParagraph("3D Chart").FontSize(15d).SpacingAfter(50d).Alignment = Alignment.center; // Create a 3D Bar chart. var c = new BarChart(); c.View3D = true; // Create the data. var brazil = ChartData.CreateBrazilExpenses(); // Create and add series var s1 = new Series("Brazil"); s1.Color = Color.GreenYellow; 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: 3DChart.docx\n"); } }
private static Series GetSeries(List <Setting> list, string name) { Series series = new Series(name); series.Bind(list, "Legend", "Value"); return(series); }
public static Series GetSeriesSecond() { // создаём набор данных Series seriesSecond = new Series("Second"); // заполняем данными seriesSecond.Bind(TestData.GetTestDataSecond(), "name", "value"); return(seriesSecond); }
public static Series GetSeriesFirst() { // создаём набор данных Series seriesFirst = new Series("First"); // заполняем данными seriesFirst.Bind(TestData.GetTestDataFirst(), "name", "value"); return(seriesFirst); }
public static Series GetSeriesSecond() { // создаём набор данных Series seriesSecond = new Series("График по " + Program.NomerZadachi + " задаче. Последовательность этапов диагностического процесса."); // заполняем данными seriesSecond.Bind(GetTestDataSecond(), "name", "value"); // Возвращаем данные return(seriesSecond); }
private Chart CreateBarChart() { BarChart barChart = new BarChart(); barChart.AddLegend(ChartLegendPosition.Top, false); var series = new Series(DiagramName); series.Bind(Data, Name, Value); barChart.AddSeries(series); return(barChart); }
public static Series GetSeries <T>(List <T> data, string diagramName, string nameFirstProjection, string nameSecondProjection) { // создаём набор данных Series seriesFirst = new Series(diagramName); // заполняем данными try { seriesFirst.Bind(data, nameFirstProjection, nameSecondProjection); } catch { } return(seriesFirst); }
/// <summary> /// Add a Bar chart to a document. /// </summary> public static void BarChart() { Console.WriteLine("\tBarChart()"); // Creates a document using (var document = DocX.Create(ChartSample.ChartSampleOutputDirectory + @"BarChart.docx")) { // Add a title document.InsertParagraph("Bar Chart").FontSize(15d).SpacingAfter(50d).Alignment = Alignment.center; // Create a bar chart. var c = new BarChart(); c.AddLegend(ChartLegendPosition.Left, false); c.BarDirection = BarDirection.Bar; c.BarGrouping = BarGrouping.Standard; c.GapWidth = 200; // Create the data. var canada = ChartData.CreateCanadaExpenses(); var usa = ChartData.CreateUSAExpenses(); var brazil = ChartData.CreateBrazilExpenses(); // Create and add series var s1 = new Series("Brazil"); s1.Color = Color.GreenYellow; s1.Bind(brazil, "Category", "Expenses"); c.AddSeries(s1); var s2 = new Series("USA"); s2.Color = Color.LightBlue; s2.Bind(usa, "Category", "Expenses"); c.AddSeries(s2); var s3 = new Series("Canada"); s3.Color = Color.Gray; s3.Bind(canada, "Category", "Expenses"); c.AddSeries(s3); // Insert the chart into the document. document.InsertParagraph("Expenses(M$) for selected categories per country").FontSize(15).SpacingAfter(10d); document.InsertChart(c, 350f, 550f); document.Save(); Console.WriteLine("\tCreated: BarChart.docx\n"); } }
/// <typeparam name="T"></typeparam> /// <param name="prods">Список продуктов.</param> /// <param name="name">Название свойства содержащего имя продукта.</param> /// <param name="count">Название свойства содержащего количество продукта.</param> /// <param name="path">Строка вида @"D:\path\to\diagram.docx".</param> public void CreateDiagram <T>(List <T> prods, string name, string count, string path) { DocX doc = DocX.Create(path); BarChart barChart = new BarChart(); barChart.AddLegend(ChartLegendPosition.Top, false); Series series = new Series("Products"); series.Bind(prods, name, count); barChart.AddSeries(series); doc.InsertChart(barChart); doc.Save(); }
/// <summary> /// Add a Line chart to a document. /// </summary> public static void LineChart() { Console.WriteLine("\tLineChartt()"); // Creates a document using (var document = DocX.Create(ChartSample.ChartSampleOutputDirectory + @"LineChart.docx")) { // Add a title document.InsertParagraph("Line Chart").FontSize(15d).SpacingAfter(50d).Alignment = Alignment.center; // Create a line chart. var c = new LineChart(); c.AddLegend(ChartLegendPosition.Left, false); // Create the data. var canada = ChartData.CreateCanadaExpenses(); var usa = ChartData.CreateUSAExpenses(); var brazil = ChartData.CreateBrazilExpenses(); // Create and add series var s1 = new Series("Brazil"); s1.Color = Color.Yellow; s1.Bind(brazil, "Category", "Expenses"); c.AddSeries(s1); var s2 = new Series("USA"); s2.Color = Color.Blue; s2.Bind(usa, "Category", "Expenses"); c.AddSeries(s2); var s3 = new Series("Canada"); s3.Color = Color.Red; s3.Bind(canada, "Category", "Expenses"); c.AddSeries(s3); // Insert chart into document document.InsertParagraph("Expenses(M$) for selected categories per country").FontSize(15).SpacingAfter(10d); document.InsertChart(c); document.Save(); Console.WriteLine("\tCreated: LineChart.docx\n"); } }
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(); } }
private static void Chart3D() { // Create new document. using (DocX document = DocX.Create(@"docs\3DChart.docx")) { // Create chart. BarChart c = new BarChart(); c.View3D = true; // Create data. List <ChartData> company1 = ChartData.CreateCompanyList1(); // Create and add series Series s = new Series("Microsoft"); s.Color = Color.GreenYellow; s.Bind(company1, "Mounth", "Money"); c.AddSeries(s); // Insert chart into document document.InsertParagraph("3D 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}\"."); }
/// <summary> /// Create a document and add headers/footers with tables and pictures, paragraphs and charts. /// </summary> public static void CompanyReport() { Console.WriteLine("\tCompanyReport()"); // Create a new document. using (var document = DocX.Create(MiscellaneousSample.MiscellaneousSampleOutputDirectory + @"CompanyReport.docx")) { // Add headers and footers. document.AddHeaders(); document.AddFooters(); // Define the pages header's picture in a Table. Odd and even pages will have the same headers. var oddHeader = document.Headers.Odd; var headerFirstTable = oddHeader.InsertTable(1, 2); headerFirstTable.Design = TableDesign.ColorfulGrid; headerFirstTable.AutoFit = AutoFit.Window; var upperLeftParagraph = oddHeader.Tables[0].Rows[0].Cells[0].Paragraphs[0]; var logo = document.AddImage(MiscellaneousSample.MiscellaneousSampleResourcesDirectory + @"Phone.png"); upperLeftParagraph.AppendPicture(logo.CreatePicture(30, 100)); upperLeftParagraph.Alignment = Alignment.left; // Define the pages header's text in a Table. Odd and even pages will have the same footers. var upperRightParagraph = oddHeader.Tables[0].Rows[0].Cells[1].Paragraphs[0]; upperRightParagraph.Append("Toms Telecom Annual report").Color(Color.White); upperRightParagraph.SpacingBefore(5d); upperRightParagraph.Alignment = Alignment.right; // Define the pages footer's picture in a Table. var oddFooter = document.Footers.Odd; var footerFirstTable = oddFooter.InsertTable(1, 2); footerFirstTable.Design = TableDesign.ColorfulGrid; footerFirstTable.AutoFit = AutoFit.Window; var lowerRightParagraph = oddFooter.Tables[0].Rows[0].Cells[1].Paragraphs[0]; lowerRightParagraph.AppendPicture(logo.CreatePicture(30, 100)); lowerRightParagraph.Alignment = Alignment.right; // Define the pages footer's text in a Table var lowerLeftParagraph = oddFooter.Tables[0].Rows[0].Cells[0].Paragraphs[0]; lowerLeftParagraph.Append("Toms Telecom 2016").Color(Color.White); lowerLeftParagraph.SpacingBefore(5d); // Define Data in first page : a Paragraph. var paragraph = document.InsertParagraph(); paragraph.AppendLine("Toms Telecom Annual report\n2016").Bold().FontSize(35).SpacingBefore(150d); paragraph.Alignment = Alignment.center; paragraph.InsertPageBreakAfterSelf(); // Define Data in second page : a Bar Chart. document.InsertParagraph("").SpacingAfter(150d); var barChart = new BarChart(); var sales = CompanyData.CreateSales(); var salesSeries = new Series("Sales Per Month"); salesSeries.Color = Color.GreenYellow; salesSeries.Bind(sales, "Month", "Sales"); barChart.AddSeries(salesSeries); document.InsertChart(barChart); document.InsertParagraph("Sales were 11% greater in 2016 compared to 2015, with the usual drop during spring time.").SpacingBefore(35d).InsertPageBreakAfterSelf(); // Define Data in third page : a Line Chart. document.InsertParagraph("").SpacingAfter(150d); var lineChart = new LineChart(); var calls = CompanyData.CreateCallNumber(); var callSeries = new Series("Call Number Per Month"); callSeries.Bind(calls, "Month", "Calls"); lineChart.AddSeries(callSeries); document.InsertChart(lineChart); document.InsertParagraph("The number of calls received was much lower in 2016 compared to 2015, by 31%. Winter is still the busiest time of year.").SpacingBefore(35d); // Save this document to disk. document.Save(); Console.WriteLine("\tCreated: CompanyReport.docx\n"); } }