public static void Diagramma(Info info) { string pathDocument = info.FileName; DocX document = DocX.Create(pathDocument); document.InsertChart(CreatePieChart(info)); document.InsertChart(CreateBarChart(info)); document.Save(); }
/// <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 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 (DocX 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("Canada"); s1.Bind(brazil, "Category", "Expenses"); c.AddSeries(s1); // Insert chart into document document.InsertParagraph("Expenses(M$) for selected categories in Canada").FontSize(15).SpacingAfter(10d); document.InsertChart(c); document.Save(); Console.WriteLine("\tCreated: PieChart.docx\n"); } }
public void CreateDiagram(List <DiagramModel> list, string seriesname, string path) { DocX document = DocX.Create(path); Series series = GetSeries(list, seriesname); document.InsertChart(CreateBarChart(series)); document.Save(); }
public void CreateDiagramInWord(List <String> Legend, List <int> Values, string path) { DocX document = DocX.Create(path); Series series = CreateSeries(Legend, Values); document.InsertChart(CreateBarChart(series)); document.Save(); }
/// <typeparam name="T"></typeparam> /// <param name="diagram">Тип диаграммы.</param> /// <param name="dataLine">Список данных.</param> /// <param name="diagramName">Название диаграммы.</param> /// <param name="nameFirstProjection">Название свойства оси ординат.</param> /// <param name="nameSecondProjection">Название свойства оси абсцисс (обязательно численное значение).</param> /// <param name="path">Строка вида @"D:\path\to\diagram.docx".</param> public void CreateDiagram <T>(Diagrams diagram, List <T> dataLine, string diagramName, string nameFirstProjection, string nameSecondProjection, string path) { DocX document = DocX.Create(path); Series series = GetSeries <T>(dataLine, diagramName, nameFirstProjection, nameSecondProjection); switch (diagram) { case Diagrams.LineChart: document.InsertChart(CreateLineChart(series)); break; case Diagrams.PieChart: document.InsertChart(CreatePieChart(series)); break; case Diagrams.BarChart: document.InsertChart(CreateBarChart(series)); break; } document.Save(); }
public void CreateDiagram(IEnumerable <object> data, string diagramName, string name, string value, string path) { Data = data.ToList(); DiagramName = diagramName; Name = name; Value = value; string pathDocument = path + ".docx"; // создаём документ DocX document = DocX.Create(pathDocument); document.InsertChart(CreateBarChart()); document.Save(); }
/// <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 Bar chart to a document. /// </summary> public static void BarChart() { Console.WriteLine("\tBarChart()"); // Creates a document using (DocX 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); document.Save(); Console.WriteLine("\tCreated: BarChart.docx\n"); } }
/// <summary> /// Add a Line chart to a document. /// </summary> public static void LineChart() { Console.WriteLine("\tLineChartt()"); // Creates a document using (DocX 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.Bind(brazil, "Category", "Expenses"); c.AddSeries(s1); var s2 = new Series("USA"); s2.Bind(usa, "Category", "Expenses"); c.AddSeries(s2); var s3 = new Series("Canada"); 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 void Button1_Click(object sender, EventArgs e) { var saveFileDialog1 = new SaveFileDialog { Filter = "Word Document (.docx ,.doc)|*.docx;*.doc|All files (*.*)|*.*", FilterIndex = 1 }; var openFileDialog = new OpenFileDialog { Filter = "Word Document (.docx ,.doc)|*.docx;*.doc|All files (*.*)|*.*", FilterIndex = 1, Multiselect = false }; try { if (saveFileDialog1.ShowDialog() == DialogResult.Cancel) { return; } // получаем выбранный файл string filename = saveFileDialog1.FileName; //создаем новый word document DocX document = DocX.Create(filename); document.InsertParagraph("F*CK"); document.InsertChart(CreatePieChart()); document.Save(); } catch (Exception e1) { MessageBox.Show(e1.Message, "Ошибка"); } }
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(); } }
private void ExitProtokol_Load(object sender, EventArgs e) { // Подключение к БД con.Open(); // Выбор количества выбранных вариантов ответа на этапе Феноменология и анамнез KolvoSelectedCB = Convert.ToInt32(new SQL_Query().GetInfoFromBD("select count(*) as 'kolvo' from OtvSelected where users_id = " + Program.user + " and FormOtvSelected = 'Fenom'")); // Если количество выбранных вариантов ответа больше 0 if (KolvoSelectedCB > 0) { // Запись данных в Протокол Program.Insert = "Окно - Выбранные 'Галочки' на этапе Феноменологии:"; wordinsert.Ins(); // Заполнение таблицы datagr new SQL_Query().CreateDatagr("select InfoSelected from OtvSelected where users_id = " + Program.user + " and FormOtvSelected = 'Fenom'", "OtvSelected", panel1, datagr); // Запись данных в Протокол for (int i = 0; i < KolvoSelectedCB; i++) { Program.Insert = datagr.Rows[i].Cells[0].Value.ToString(); wordinsert.Ins(); } // Выбор количества всех вариантов ответа на этапе Феноменология и анамнез int KolvoALLCB = Convert.ToInt32(new SQL_Query().GetInfoFromBD("select count(*) as 'kolvo' from CBFormFill where zadacha_id = " + Program.NomerZadachi + " and FormCB = 'Fenom'")); // Запись данных в Протокол Program.Insert = "Выбрано " + KolvoSelectedCB + " из " + KolvoALLCB + " 'Галочек'"; wordinsert.Ins(); } // Выбор количества выбранных вариантов ответа на этапе Гипотезы KolvoSelectedCB = Convert.ToInt32(new SQL_Query().GetInfoFromBD("select count(*) as 'kolvo' from OtvSelected where users_id = " + Program.user + " and FormOtvSelected = 'Teor'")); // Если количество выбранных вариантов ответа больше 0 if (KolvoSelectedCB > 0) { // Запись данных в Протокол Program.Insert = "Окно - Выбранные 'Галочки' на этапе Гипотезы:"; wordinsert.Ins(); // Заполнение таблицы datagr1 new SQL_Query().CreateDatagr("select InfoSelected from OtvSelected where users_id = " + Program.user + " and FormOtvSelected = 'Teor'", "OtvSelected", panel1, datagr1); // Запись данных в Протокол for (int i = 0; i < KolvoSelectedCB; i++) { Program.Insert = datagr1.Rows[i].Cells[0].Value.ToString(); wordinsert.Ins(); } // Выбор количества всех вариантов ответа на этапе Гипотезы int KolvoALLCB = Convert.ToInt32(new SQL_Query().GetInfoFromBD("select count(*) as 'kolvo' from CBFormFill where zadacha_id = " + Program.NomerZadachi + " and FormCB = 'Teor'")); // Запись данных в протокол Program.Insert = "Выбрано " + KolvoSelectedCB + " из " + KolvoALLCB + " 'Галочек'"; wordinsert.Ins(); } // Закрываем документ Program.Insert = "Окончание протокола"; wordinsert.Ins(); // Если студент заходил на этапы if (Program.StageName.Count != 0) { // Открываем документ DocX document = DocX.Load(Program.doc); // создаём столбцовую диаграмму BarChart barChart = new BarChart(); // создаём набор данных и добавляем в диаграмму barChart.AddSeries(TestData.GetSeriesFirst()); // добавляем столбцовую диаграмму document.InsertChart(barChart); // создаём линейную диаграмму LineChart lineChart = new LineChart(); // создаём набор данных и добавляем на диаграмму lineChart.AddSeries(TestData.GetSeriesSecond()); // добавляем линейную диаграмму document.InsertChart(lineChart); // сохраняем документ 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 (DocX 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"); } }