From 4addd11c71858c701f71ae9a292493cfe3463825 Mon Sep 17 00:00:00 2001 From: SushmaSF4796 Date: Thu, 10 Sep 2026 17:24:32 +0530 Subject: [PATCH 1/2] Added changes --- ...Convert-IChartShape-in-XlsIO-to-WChart.sln | 25 ++++++++++ ...vert-IChartShape-in-XlsIO-to-WChart.csproj | 21 ++++++++ .../Output/.gitkeep | 1 + .../Program.cs | 49 +++++++++++++++++++ 4 files changed, 96 insertions(+) create mode 100644 Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart.sln create mode 100644 Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Convert-IChartShape-in-XlsIO-to-WChart.csproj create mode 100644 Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Output/.gitkeep create mode 100644 Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Program.cs diff --git a/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart.sln b/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart.sln new file mode 100644 index 000000000..563811da6 --- /dev/null +++ b/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.8.34330.188 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Convert-IChartShape-in-XlsIO-to-WChart", "Convert-IChartShape-in-XlsIO-to-WChart\Convert-IChartShape-in-XlsIO-to-WChart.csproj", "{8AA439D5-CB5A-43ED-A7FB-52C02ABA680D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8AA439D5-CB5A-43ED-A7FB-52C02ABA680D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8AA439D5-CB5A-43ED-A7FB-52C02ABA680D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8AA439D5-CB5A-43ED-A7FB-52C02ABA680D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8AA439D5-CB5A-43ED-A7FB-52C02ABA680D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {C2F7F2E8-4DD4-446F-AE6D-C08FC5223C1E} + EndGlobalSection +EndGlobal diff --git a/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Convert-IChartShape-in-XlsIO-to-WChart.csproj b/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Convert-IChartShape-in-XlsIO-to-WChart.csproj new file mode 100644 index 000000000..1f10ad2ca --- /dev/null +++ b/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Convert-IChartShape-in-XlsIO-to-WChart.csproj @@ -0,0 +1,21 @@ + + + + Exe + net8.0 + Convert_IChartShape_in_XlsIO_to_WChart + enable + enable + + + + + + + + + Always + + + + diff --git a/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Output/.gitkeep b/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Program.cs b/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Program.cs new file mode 100644 index 000000000..a098747a7 --- /dev/null +++ b/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Program.cs @@ -0,0 +1,49 @@ +using Syncfusion.DocIO; +using Syncfusion.DocIO.DLS; +using Syncfusion.Drawing; +using Syncfusion.OfficeChart; +using System.IO; + +namespace Remove_chart_title +{ + class Program + { + static void Main(string[] args) + { + //Creates a new instance of WordDocument (Empty Word Document). + using (WordDocument document = new WordDocument()) + { + //Adds section to the document. + IWSection sec = document.AddSection(); + //Adds paragraph to the section. + IWParagraph paragraph = sec.AddParagraph(); + //Creates and Appends chart to the paragraph. + WChart chart = paragraph.AppendChart(446, 270); + //Sets chart type. + chart.ChartType = OfficeChartType.Pie; + + //Sets chart title. + chart.ChartTitle = string.Empty; + + //Sets data for chart. + chart.ChartData.SetValue(1, 1, ""); + chart.ChartData.SetValue(1, 2, "Sales"); + chart.ChartData.SetValue(2, 1, "Phyllis Lapin"); + chart.ChartData.SetValue(2, 2, 141.396); + chart.ChartData.SetValue(3, 1, "Stanley Hudson"); + chart.ChartData.SetValue(3, 2, 80.368); + //Creates a new chart series with the name "Sales". + IOfficeChartSerie pieSeries = chart.Series.Add("Sales"); + pieSeries.Values = chart.ChartData[2, 2, 3, 2]; + //Sets category labels. + chart.PrimaryCategoryAxis.CategoryLabels = chart.ChartData[2, 1, 3, 1]; + //Creates file stream. + using (FileStream outputFileStream = new FileStream(Path.GetFullPath(@"Output/Output.docx"), FileMode.Create, FileAccess.ReadWrite)) + { + //Saves the Word document to file stream. + document.Save(outputFileStream, FormatType.Docx); + } + } + } + } +} From 8653f806897778301ebafc2d9f8b55575d1d5f3a Mon Sep 17 00:00:00 2001 From: SushmaSF4796 Date: Thu, 10 Sep 2026 17:48:07 +0530 Subject: [PATCH 2/2] Added changes --- ...vert-IChartShape-in-XlsIO-to-WChart.csproj | 1 + .../Data/Input.xlsx | Bin 0 -> 13746 bytes .../Program.cs | 192 ++++++++++++++---- 3 files changed, 156 insertions(+), 37 deletions(-) create mode 100644 Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Data/Input.xlsx diff --git a/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Convert-IChartShape-in-XlsIO-to-WChart.csproj b/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Convert-IChartShape-in-XlsIO-to-WChart.csproj index 1f10ad2ca..23ca67864 100644 --- a/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Convert-IChartShape-in-XlsIO-to-WChart.csproj +++ b/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Convert-IChartShape-in-XlsIO-to-WChart.csproj @@ -10,6 +10,7 @@ + diff --git a/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Data/Input.xlsx b/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Data/Input.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..9ab9bc0cde3161d92e9e81faa3313d689ef96014 GIT binary patch literal 13746 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 literal 0 HcmV?d00001 diff --git a/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Program.cs b/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Program.cs index a098747a7..c30559b06 100644 --- a/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Program.cs +++ b/Charts/Convert-IChartShape-in-XlsIO-to-WChart/.NET/Convert-IChartShape-in-XlsIO-to-WChart/Program.cs @@ -1,49 +1,167 @@ -using Syncfusion.DocIO; -using Syncfusion.DocIO.DLS; -using Syncfusion.Drawing; +using Syncfusion.DocIO.DLS; using Syncfusion.OfficeChart; -using System.IO; +using Syncfusion.XlsIO; -namespace Remove_chart_title +class Program { - class Program + static void Main(string[] args) { - static void Main(string[] args) + ConvertExcelChartToWordChart(@"../../../Data/Input.xlsx", @"../../../Output/Output.docx"); + } + public static void ConvertExcelChartToWordChart(string excelFilePath, string outputPath) + { + // Load the Excel document + ExcelEngine excelEngine = new ExcelEngine(); + IApplication application = excelEngine.Excel; + IWorkbook workbook = application.Workbooks.Open(excelFilePath); + IWorksheet worksheet = workbook.Worksheets[0]; + + // Get the first chart from Excel + IChart excelChart = worksheet.Charts[0]; + + // Create Word document + WordDocument wordDocument = new WordDocument(); + + // Create a new section or use existing + WSection section = wordDocument.LastSection as WSection; + if (section == null) { - //Creates a new instance of WordDocument (Empty Word Document). - using (WordDocument document = new WordDocument()) + section = wordDocument.AddSection() as WSection; + } + + // Create a paragraph to add the chart + IWParagraph paragraph = section.AddParagraph(); + + // Create a new chart in Word with the same chart type + WChart wordChart = paragraph.AppendChart(500, 400); + wordChart.ChartType = ConvertExcelChartTypeToWord(excelChart.ChartType); + + // Set chart size + wordChart.Width = (float)excelChart.Width; + wordChart.Height = (float)excelChart.Height; + + // Copy chart data + CopyChartData(excelChart, wordChart); + + // Apply formatting + ApplyChartFormatting(excelChart, wordChart); + + // Save the Word document + wordDocument.Save(outputPath); + wordDocument.Close(); + + // Close Excel + workbook.Close(); + excelEngine.Dispose(); + } + + private static OfficeChartType ConvertExcelChartTypeToWord(ExcelChartType excelChartType) + { + switch (excelChartType) + { + case ExcelChartType.Column_Clustered: + return OfficeChartType.Column_Clustered; + + case ExcelChartType.Column_Stacked: + return OfficeChartType.Column_Stacked; + + case ExcelChartType.Line: + return OfficeChartType.Line; + + case ExcelChartType.Pie: + return OfficeChartType.Pie; + + case ExcelChartType.Bar_Clustered: + return OfficeChartType.Bar_Clustered; + + case ExcelChartType.Area: + return OfficeChartType.Area; + + default: + return OfficeChartType.Column_Clustered; // Default fallback + } + } + private static void CopyChartData(IChart excelChart, WChart wordChart) + { + IRange dataRange = excelChart.DataRange; + + int rowCount = dataRange.Rows.Length; + int colCount = dataRange.Columns.Length; + + for (int i = 0; i < rowCount; i++) + { + for (int j = 0; j < colCount; j++) { - //Adds section to the document. - IWSection sec = document.AddSection(); - //Adds paragraph to the section. - IWParagraph paragraph = sec.AddParagraph(); - //Creates and Appends chart to the paragraph. - WChart chart = paragraph.AppendChart(446, 270); - //Sets chart type. - chart.ChartType = OfficeChartType.Pie; - - //Sets chart title. - chart.ChartTitle = string.Empty; - - //Sets data for chart. - chart.ChartData.SetValue(1, 1, ""); - chart.ChartData.SetValue(1, 2, "Sales"); - chart.ChartData.SetValue(2, 1, "Phyllis Lapin"); - chart.ChartData.SetValue(2, 2, 141.396); - chart.ChartData.SetValue(3, 1, "Stanley Hudson"); - chart.ChartData.SetValue(3, 2, 80.368); - //Creates a new chart series with the name "Sales". - IOfficeChartSerie pieSeries = chart.Series.Add("Sales"); - pieSeries.Values = chart.ChartData[2, 2, 3, 2]; - //Sets category labels. - chart.PrimaryCategoryAxis.CategoryLabels = chart.ChartData[2, 1, 3, 1]; - //Creates file stream. - using (FileStream outputFileStream = new FileStream(Path.GetFullPath(@"Output/Output.docx"), FileMode.Create, FileAccess.ReadWrite)) + object cellValue = dataRange[i + 1, j + 1].Value; + + if (cellValue != null) { - //Saves the Word document to file stream. - document.Save(outputFileStream, FormatType.Docx); + wordChart.ChartData.SetValue(i + 1, j + 1, cellValue); } + else + { + wordChart.ChartData.SetValue(i + 1, j + 1, string.Empty); + } + } + } + + wordChart.DataRange = wordChart.ChartData[ + dataRange.Row, + dataRange.Column, + dataRange.LastRow, + dataRange.LastColumn]; + } + + private static void ApplyChartFormatting(IChart excelChart, WChart wordChart) + { + // Set chart title + if (excelChart.HasTitle && !string.IsNullOrWhiteSpace(excelChart.ChartTitle)) + { + wordChart.ChartTitle = excelChart.ChartTitle; + wordChart.ChartTitleArea.FontName = excelChart.ChartTitleArea.FontName; + } + + // Set legend properties + wordChart.HasLegend = excelChart.HasLegend; + + if (excelChart.HasLegend && + excelChart.Legend != null && + wordChart.Legend != null) + { + switch (excelChart.Legend.Position) + { + case ExcelLegendPosition.Bottom: + wordChart.Legend.Position = OfficeLegendPosition.Bottom; + break; + + case ExcelLegendPosition.Left: + wordChart.Legend.Position = OfficeLegendPosition.Left; + break; + + case ExcelLegendPosition.Right: + wordChart.Legend.Position = OfficeLegendPosition.Right; + break; + + case ExcelLegendPosition.Top: + wordChart.Legend.Position = OfficeLegendPosition.Top; + break; } } + + // Set value axis title + if (excelChart.PrimaryValueAxis != null && + !string.IsNullOrEmpty(excelChart.PrimaryValueAxis.Title)) + { + wordChart.PrimaryValueAxis.Title = + excelChart.PrimaryValueAxis.Title; + } + + // Set category axis title + if (excelChart.PrimaryCategoryAxis != null && + !string.IsNullOrEmpty(excelChart.PrimaryCategoryAxis.Title)) + { + wordChart.PrimaryCategoryAxis.Title = + excelChart.PrimaryCategoryAxis.Title; + } } }