一个兼容word2007的NPOI插入图表


一个兼容word2007的NPOI插入图表例子,vs2010,例中提供了饼图和柱状图实现的代码,NPOI是tonyqus提供的2.1.1.0源码经过修改编译。
资源截图
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.IO;
using NPOI.XWPF.UserModel;
using NPOI.OpenxmlFormats.Wordprocessing;
using NPOI.XSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.OpenxmlFormats.Dml.Chart;
using NPOI.OpenxmlFormats.Dml.WordProcessing;


/*
 * 本例子提供的NPOI是tonyqus提供的2.1.1.0源码经过修改编译。
 * 例中包括:
 * 1、页眉页脚设置
 * 2、插图表操作:分inline和anchor两种方式,提供饼图和柱状图实例,其它图表没有提供实例
 * vs2010
 * netframework4
 * 创建的docx在word2007可以打开
 * 2014-9-18
 * 
 */
namespace CreateChart
{
    public partial class Form1 : Form
    {
        const String m_savefilepath = “d:\doc“;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender EventArgs e)
        {
            //inline
            /*
             * 创建饼图
             */
            MemoryStream ms = new MemoryStream();
            XWPFDocument m_Docx = new XWPFDocument();
            m_Docx = CreatepieCharttoDocxwithinline();
            m_Docx.Write(ms);
            ms.Flush();
            SaveToFile(ms m_savefilepath + “\CreatepieChartwithinline.docx“);
        }
        private void button2_Click(object sender EventArgs e)
        {
            //inline
            /*
             * 创建柱状图
             */

            MemoryStream ms = new MemoryStream();
            XWPFDocument m_Docx = new XWPFDocument();
            m_Docx = CreatebarCharttoDocxwithinline();
            m_Docx.Write(ms);
            ms.Flush();
            SaveToFile(ms m_savefilepath + “\CreatebarChartwithinline.docx“);
        }
        private void button3_Click(object sender EventArgs e)
        {
            //anchor方式的饼图
            MemoryStream ms = new MemoryStream();
            XWPFDocument m_Docx = new XWPFDocument();
            m_Docx = CreateCharttoDocxwithAnchor();
            m_Docx.Write(ms);
            ms.Flush();
            SaveToFile(ms m_savefilepath + “\Chartwithanchor.docx“);

        }

        protected XWPFDocument CreatepieCharttoDocxwithinline()
        {
            //inline
            //创建不同设计的饼图
            XWPFDocument m_Docx = new XWPFDocument();
            //页面设置
            //A4:W=11906h=16838
            //CT_SectPr m_SectPr = m_Docx.Document.body.AddNewSectPr();
            m_Docx.Document.body.sectPr = new CT_SectPr();
            CT_SectPr m_SectPr = m_Docx.Document.body.sectPr;
            //页面设置A4横向
            m_SectPr.pgSz.w = (ulong)16838;
            m_SectPr.pgSz.h = (ulong)11906;

            //创建页脚
            CT_Ftr m_ftr = new CT_Ftr();
            m_ftr.AddNewP().AddNewR().AddNewT().Value = “fff“;//页脚内容
            //创建页脚关系(footern.xml)
            XWPFRelation Frelation = XWPFRelation.FOOTER;
            XWPFFooter m_f = (XWPFFooter)m_Docx.CreateRelationship(Frelation XWPFFactory.GetInstance() m_Docx.FooterList.Count + 1);
            //设置页脚
            m_f.SetHeaderFoo

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      11600  2014-09-23 14:47  CreateChartCreateChartinDebugCreateChart.vshost.exe

     文件        490  2010-03-17 22:39  CreateChartCreateChartinDebugCreateChart.vshost.exe.manifest

     文件       4260  2014-09-21 21:41  CreateChartCreateChartCreateChart.csproj

     文件      65481  2014-09-23 14:53  CreateChartCreateChartForm1.cs

     文件       3330  2014-09-23 11:45  CreateChartCreateChartForm1.Designer.cs

     文件       5817  2014-09-23 11:45  CreateChartCreateChartForm1.resx

     文件       4440  2014-09-07 16:25  CreateChartCreateChartobjx86DebugDesignTimeResolveAssemblyReferences.cache

     文件       6560  2014-09-23 14:47  CreateChartCreateChartobjx86DebugDesignTimeResolveAssemblyReferencesInput.cache

     文件        492  2014-08-27 01:33  CreateChartCreateChartProgram.cs

     文件       1354  2014-08-27 01:33  CreateChartCreateChartPropertiesAssemblyInfo.cs

     文件       2873  2014-08-27 01:33  CreateChartCreateChartPropertiesResources.Designer.cs

     文件       5612  2014-08-27 01:33  CreateChartCreateChartPropertiesResources.resx

     文件       1097  2014-08-27 01:33  CreateChartCreateChartPropertiesSettings.Designer.cs

     文件        249  2014-08-27 01:33  CreateChartCreateChartPropertiesSettings.settings

     文件        875  2014-08-27 01:33  CreateChartCreateChart.sln

    ..A..H.     67072  2014-09-23 14:53  CreateChartCreateChart.suo

     文件     200704  2014-08-14 10:51  CreateChartNPOIICSharpCode.SharpZipLib.dll

     文件    1775616  2014-09-23 12:17  CreateChartNPOINPOI.dll

     文件     429056  2014-09-23 12:17  CreateChartNPOINPOI.OOxml.dll

     文件      93696  2014-09-23 12:17  CreateChartNPOINPOI.Openxml4Net.dll

     文件    2112000  2014-09-23 12:17  CreateChartNPOINPOI.OpenxmlFormats.dll

     目录          0  2014-08-27 01:33  CreateChartCreateChartobjx86DebugTempPE

     目录          0  2014-09-23 14:53  CreateChartCreateChartobjx86Debug

     目录          0  2014-09-23 14:53  CreateChartCreateChartinDebug

     目录          0  2014-08-27 01:33  CreateChartCreateChartobjx86

     目录          0  2014-08-27 01:33  CreateChartCreateChartin

     目录          0  2014-08-27 01:33  CreateChartCreateChartobj

     目录          0  2014-08-27 01:33  CreateChartCreateChartProperties

     目录          0  2014-08-27 01:34  CreateChartCreateChart

     目录          0  2014-08-27 01:33  CreateChartNPOI

............此处省略4个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)