C#中操作Word(9)

您所在的位置:网站首页 excel提供了三种建立图表的方法是 C#中操作Word(9)

C#中操作Word(9)

2024-06-29 10:38| 来源: 网络整理| 查看: 265

        我们接着上一文的内容介绍在word中插入图标的方法。 方法二:从Excel中拷贝图表         这种方法相信你通过这个标题就了解了。我们的思路就是在Excel中生成这个图表,然后在拷贝的word中。 2.1 引入Excel类库

        首先我们需要在项目中引入Excel相关的引用,如下图所示在“添加引用”对话框中选中选中Excel的对象库,然后点击确定。

        添加完成之后,我们还需要做的工作就是实用using关键字把Microsoft.Office.Interop.Excel命名空间其一个别名Excel: using Excel = Microsoft.Office.Interop.Excel; 2.2 在Excel中生成图表

        接下来,我们启动Excel进程,然后在它的第一个sheet中添加一个2行4列的表格,并添加数据:

Excel.Application eApp = new Excel.Application();//创建Excel进程 eApp.Visible = true;//设置Excel可见 Excel.Workbook book=eApp.Workbooks.Add();//增加一个workboo Excel.Worksheet sheet = eApp.Worksheets[1];//获取第一个Worksheet Excel.Range range = sheet.get_Range("A1", "D2");//获取A1到D2范围内的Range //向表格中插入数据 range.Cells[1][1] = "姓名"; range.Cells[1][2] = "成绩"; range.Cells[2][1] = "张三"; range.Cells[2][2] = "89"; range.Cells[3][1] = "李四"; range.Cells[3][2] = "100"; range.Cells[4][1] = "王五"; range.Cells[4][2] = "95";        如果顺利的话,我们应该得到下面所示的Excel数据:         然后,获取B1到D2的Range,并插入图表。 //插入图表À Excel.Chart xlChart = book.Charts.Add(); //设置图表源 xlChart.SetSourceData(range); 最后,拷贝表格和图表到word中。 //拷贝表格 Word.Range wdRange = bk.Range; range.Copy(); wdRange.Paste(); //拷贝图表数据到 wdRange.SetRange(wdRange.End, wdRange.End + 1); xlChart.ChartArea.Copy(); wdRange.Paste();

        如果不出意外,我们成功插入了表格和图表:

        方法二基本都会适用于所有版本的office,接下来我们介绍的方法三只适用于office2010以上的版本。 方法三:利用InlineShapes的AddChart方法插入图表         我们这里只是对方法三的一个简单介绍,因为笔者的office版本为2007版的,不想再重新安装2010版本以上的进行试验。从office2010之后InlineShape增加了一个Chart的属性,就是我们添加的图表,我们可以可以利用InlineShapes的AddChart()增加一个图表,该函数的返回值就是这个chart所在的InlineShape,然后通过InlineShape的Chart属性获取这个chart,这样我们就能够对chart进行设置数据或者格式的操作了,详细的方法见下面代码的注释。 Word.Selection sel = app.Selection; Word.InlineShape shape = sel.InlineShapes.AddChart();//插入图表 Word.Chart wdChart = shape.Chart;//获取图表 Word.ChartData chartData = wdChart.ChartData;//获取图表的数据 Excel.Workbook dataWorkbook = (Excel.Workbook)chartData.Workbook;//获取数据对应的workbook dataWorkbook.Application.Visible = false; Excel.Worksheet dataSheet = (Excel.Worksheet)dataWorkbook.Worksheets[1]; //获取图表对应|的sheet Github位置: https://github.com/HymanLiuTS/OfficeTestByC- 克隆本项目: git clone [email protected]:HymanLiuTS/OfficeTestByC-.git 获取本文源代码: git checkout L08_2


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3