ASPOSE.WORD操作

最近做到导出word表格和图片,所以用到了word




        public virtual string SaveEchartWord2(FormCollection form, int rowcount, string headStr,
            string exportStr, string headTitle, string imgUrl)
        {
            //模板地址
            var path = Server.MapPath(ConfigurationManager.AppSettings["ImportEchart"]);
            Document doc = new Document(path);
            DocumentBuilder builder = new DocumentBuilder(doc);
            WriteHead(headTitle, builder);


            #region 表格部分


            builder.MoveToBookmark("myBookmark1");
            var list1 = headStr.Split(',');
            var count = list1.Count();
            for (int i = 0; i < count; i++)
            {
                var headName = list1[i];
                builder.InsertCell();
                builder.Write(headName);
                builder.CellFormat.Width = 10;
                builder.CellFormat.Width = 10;
            }
            builder.EndRow();
            var list2 = exportStr.Split(',');
            for (int i = 0; i < rowcount; i++)
            {
                for (int t = 0; t < count; t++)
                {
                    builder.InsertCell();
                    builder.Write(form["dataRow[" + i + "][" + list2[t] + "]"]);
                }
                builder.EndRow();
            }
            builder.EndTable();


            #endregion


            WriteImg(imgUrl, doc, builder);
            //生成保存地址
            var path1 = ConfigurationManager.AppSettings["FileUploadPath"] + "/" + CreatFileName() + ".doc";
            doc.Save(Server.MapPath(path1));
            return path1;
        }


        private static void WriteHead(string headTitle, DocumentBuilder builder)
        {
            //标题
            builder.MoveToBookmark("myBookmark0");
            //BreakType type = 0;
            //builder.InsertBreak(type);
            builder.Write(headTitle);
            builder.CellFormat.Borders.LineStyle = LineStyle.Single;
        }


        /// <summary>
        /// 保存echart和表格
        /// </summary>
        /// <param name="exportStr">表格保存列</param>
        /// <param name="headStr">表格显示列</param>
        /// <param name="headTitle">标题</param>
        /// <param name="imgUrl">encode图片</param>
        /// <param name="datatable">表格数据</param>
        public virtual string SaveEchartWord(string exportStr, string headStr, string headTitle, string imgUrl,
            DataTable datatable)
        {
            //模板地址
            var path = Server.MapPath(ConfigurationManager.AppSettings["ImportEchart"]);
            Document doc = new Document(path);
            DocumentBuilder builder = new DocumentBuilder(doc);
            WriteHead(headTitle, builder);


            #region 表格部分


            builder.MoveToBookmark("myBookmark1");
            var list1 = headStr.Split(',');
            var count = list1.Count();
            for (int i = 0; i < count; i++)
            {
                var headName = list1[i].ToString();
                builder.InsertCell();
                builder.Write(headName);
                builder.CellFormat.Width = 10;
                builder.CellFormat.Width = 10;
            }
            builder.EndRow();
            var list2 = exportStr.Split(',');
            foreach (DataRow dr in datatable.Rows)
            {
                for (int i = 0; i < count; i++)
                {
                    builder.InsertCell();
                    builder.Write(dr[list2[i]].ToString());
                }
                builder.EndRow();
            }
            builder.EndTable();


            #endregion


            #region 图表部分


            WriteImg(imgUrl, doc, builder);


            #endregion


            //生成保存地址
            var path1 = ConfigurationManager.AppSettings["FileUploadPath"] + "/" + CreatFileName() + ".doc";
            doc.Save(Server.MapPath(path1));
            return path1;
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值