博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
csharp: Aspose.Words create table
阅读量:5258 次
发布时间:2019-06-14

本文共 20985 字,大约阅读时间需要 69 分钟。

///         /// 20141118        /// Geovin Du        /// Aspose.Words创建表        ///         ///         ///         protected void Page_Load(object sender, EventArgs e)        {            try            {                //实例化一个新的Word Document                //也可以在Aspose.Words.Document doc = newAspose.Words.Document(path)中加path参数,                //此path指向你设计好的Word模板路径                Aspose.Words.Document doc = new Aspose.Words.Document();                DocumentBuilder builder = new DocumentBuilder(doc);                //设置单元格内容对齐方式                builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;                //清除设置                builder.PageSetup.ClearFormatting();                DataTable tbl = new DataTable();// m_db.GetDataTable(sql, m_cn);                tbl.Columns.Add("XZ", typeof(int));                tbl.Columns.Add("ZPPATH", typeof(string));                tbl.Columns.Add("XM", typeof(string));                tbl.Columns.Add("SZDW", typeof(string));                tbl.Columns.Add("DWDH", typeof(string));                tbl.Columns.Add("SJHM", typeof(string));                tbl.Columns.Add("DWYB", typeof(string));                tbl.Columns.Add("DZYJ", typeof(string));                tbl.Rows.Add(1, "", "geovindu", "缔友计算机信息技术有限公司;软件工程师", "82397501", "13824350518", "518003", "463588883@qq.com");                tbl.Rows.Add(2, "", "涂年生","缔创智能工程技术有限公司;网络工程师", "82397502", "13824350518", "518003", "geovindu@qq.com");                tbl.Rows.Add(3, "", "涂聚文", "缔建智能建筑工程有限公司;UI设计师", "82397503", "13824350518", "518003", "463588883@qq.com");                List
list = new List
(); if (tbl != null && tbl.Rows.Count > 0) { //加载小组 for (int i = 0; i < tbl.Rows.Count; i++) { if (!list.Contains(tbl.Rows[i]["XZ"].ToString())) { list.Add(tbl.Rows[i]["XZ"].ToString()); } } double imgcellwidth = 85; double imgcellheight = 120; double cellwidth = 165; double cellheight = 18.5; //匹配小组中的学员 builder.StartTable();//开始画Table builder.ParagraphFormat.Alignment = ParagraphAlignment.Center; // RowAlignment.Center; string xz = string.Empty; int count = 0; int rowcount = 0; for (int n = 0; n < list.Count; n++) { xz = list[n]; builder.RowFormat.Height = 20; //插入Table单元格 builder.InsertCell(); //Table单元格边框线样式 builder.CellFormat.Borders.LineStyle = LineStyle.Single; //Table此单元格宽度 builder.CellFormat.Width = 500; //此单元格中内容垂直对齐方式 builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center; builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; //字体大小 builder.Font.Size = 11; //是否加粗 builder.Bold = true; //向此单元格中添加内容 builder.Write(xz); //Table行结束 builder.EndRow(); builder.Bold = false; DataRow[] rows = tbl.Select("xz='" + xz + "'"); for (int i = 0; i < rows.Length; i = i + 2) { count++; rowcount = (count - 1) * 6 + 1 + n; //第一行 builder.InsertCell(); builder.RowFormat.Height = imgcellheight; builder.CellFormat.Borders.LineStyle = LineStyle.Single; //合并行单元格 builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.First; builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center; builder.CellFormat.TopPadding = 2; builder.CellFormat.WrapText = false; builder.CellFormat.Width = imgcellwidth; if (!string.IsNullOrEmpty(rows[i]["ZPPATH"].ToString())) { //向此单元格中插入图片 Shape shape = new Shape(doc, ShapeType.Image); string url = System.Configuration.ConfigurationManager.AppSettings["UserPhotosSitePath"] + "\\" + rows[i]["ZPPATH"].ToString(); shape.ImageData.SetImage(url); shape.Width = imgcellwidth - 2; shape.Height = imgcellheight; shape.HorizontalAlignment = HorizontalAlignment.Center; CompositeNode node = shape.ParentNode; //把此图片移动到那个单元格中 builder.MoveToCell(0, rowcount, 0, 0); builder.InsertNode(shape); } builder.InsertCell(); builder.RowFormat.Height = cellheight; builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.Width = cellwidth; builder.Write(rows[i]["XM"].ToString()); // builder.InsertCell(); builder.RowFormat.Height = imgcellheight; builder.CellFormat.Borders.LineStyle = LineStyle.Single; //合并行单元格 builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.First; builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center; builder.CellFormat.Width = imgcellwidth; if (rows.Length > i + 1) { if (!string.IsNullOrEmpty(rows[i + 1]["ZPPATH"].ToString())) { Shape shape = new Shape(doc, ShapeType.Image); string url = System.Configuration.ConfigurationManager.AppSettings["UserPhotosSitePath"] + "\\" + rows[i + 1]["ZPPATH"].ToString(); shape.ImageData.SetImage(url); shape.Width = imgcellwidth - 2; shape.Height = imgcellheight; shape.HorizontalAlignment = HorizontalAlignment.Center; CompositeNode node = shape.ParentNode; builder.MoveToCell(0, rowcount, 2, 0); builder.InsertNode(shape); } } builder.InsertCell(); builder.RowFormat.Height = cellheight; builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.Width = cellwidth; if (rows.Length > i + 1) { builder.Write(rows[i + 1]["XM"].ToString()); } builder.EndRow(); //第二行 builder.InsertCell(); //此单元格与上一行单元格合并 builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.Previous; builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = imgcellwidth; builder.InsertCell(); builder.RowFormat.Height = cellheight; builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = cellwidth; builder.Write("单位及职务:" + rows[i]["SZDW"].ToString()); builder.InsertCell(); //此单元格与上一行单元格合并 builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.Previous; builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = imgcellwidth; builder.InsertCell(); builder.RowFormat.Height = cellheight; builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.Width = cellwidth; if (rows.Length > i + 1) { builder.Write("单位及职务:" + rows[i + 1]["SZDW"].ToString()); } builder.EndRow(); //第三行 builder.InsertCell(); //此单元格与上一行单元格合并 builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.Previous; builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = imgcellwidth; builder.InsertCell(); builder.RowFormat.Height = cellheight; builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = cellwidth; builder.Write("单位电话:" + rows[i]["DWDH"].ToString()); builder.InsertCell(); //此单元格与上一行单元格合并 builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.Previous; builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = imgcellwidth; builder.InsertCell(); builder.RowFormat.Height = cellheight; builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.Width = cellwidth; if (rows.Length > i + 1) { builder.Write("单位电话:" + rows[i + 1]["DWDH"].ToString()); } builder.EndRow(); //第四行 builder.InsertCell(); //此单元格与上一行单元格合并 builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.Previous; builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = imgcellwidth; builder.InsertCell(); builder.RowFormat.Height = cellheight; builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = cellwidth; builder.Write("手机:" + rows[i]["SJHM"].ToString()); builder.InsertCell(); //此单元格与上一行单元格合并 builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.Previous; builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = imgcellwidth; builder.InsertCell(); builder.RowFormat.Height = cellheight; builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.Width = cellwidth; if (rows.Length > i + 1) { builder.Write("手机:" + rows[i + 1]["SJHM"].ToString()); } builder.EndRow(); //第五行 builder.InsertCell(); //此单元格与上一行单元格合并 builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.Previous; builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = imgcellwidth; builder.InsertCell(); builder.RowFormat.Height = cellheight; builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = cellwidth; builder.Write("邮编:" + rows[i]["DWYB"].ToString()); builder.InsertCell(); //此单元格与上一行单元格合并 builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.Previous; builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = imgcellwidth; builder.InsertCell(); builder.RowFormat.Height = cellheight; builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.Width = cellwidth; if (rows.Length > i + 1) { builder.Write("邮编:" + rows[i + 1]["DWYB"].ToString()); } builder.EndRow(); //第六行 builder.InsertCell(); //此单元格与上一行单元格合并 builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.Previous; builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = imgcellwidth; builder.InsertCell(); builder.RowFormat.Height = cellheight; builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = cellwidth; builder.Write("Email:" + rows[i]["DZYJ"].ToString()); builder.InsertCell(); //此单元格与上一行单元格合并 builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.Previous; builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Width = imgcellwidth; builder.InsertCell(); builder.RowFormat.Height = cellheight; builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.Borders.LineStyle = LineStyle.Single; builder.CellFormat.Width = cellwidth; if (rows.Length > i + 1) { builder.Write("Email:" + rows[i + 1]["DZYJ"].ToString()); } builder.EndRow(); } } builder.EndTable(); } string name = "通讯录.doc"; //以下载Word的形式打开Wrod Aspose.Words.Saving.HtmlSaveOptions options = new Aspose.Words.Saving.HtmlSaveOptions(SaveFormat.Html); Aspose.Words.Saving.DocSaveOptions docoptions = new Aspose.Words.Saving.DocSaveOptions(SaveFormat.Doc); //如图所示:Aspose.Words导出带图片人员信息到Word中 //doc.Save(name, Aspose.Words.SaveFormat.Doc, Aspose.Words.SaveType.OpenInWord, Response); doc.Save(Page.Response, name, ContentDisposition.Attachment, docoptions);//13.3.1 } catch (Exception ex) { Response.Write(ex.Message.ToString()); } }

参考:

///         /// 20141118        /// Geovin Du        /// Aspose.Words模板操作        ///         ///         ///         protected void Page_Load(object sender, EventArgs e)        {            try            {                Dictionary
dictSource = new Dictionary
(); dictSource.Add("TIS_HANDLE_NO", "T0001"); dictSource.Add("ACCUSE_INDUSTRY", "出租车"); dictSource.Add("ACCUSER_NAME", "张三"); dictSource.Add("ACCUSER_COMPANY", "缔友计算机信息技术有限公司"); dictSource.Add("ACCUSER_ID", "8888888888888"); dictSource.Add("COME_TEL", "82397507"); dictSource.Add("ACCUSER_ADDRESS", "深圳市罗湖区"); dictSource.Add("ACCUSER_ZIPCODE", "518003"); dictSource.Add("TO_DEPARTMENT", "六福"); dictSource.Add("TAXI_DEPT", "资讯科技部"); dictSource.Add("CONTENT", "生活如水,没有薪水发"); dictSource.Add("MEMO", "好来好样的"); dictSource.Add("FOREMANID", "李四"); dictSource.Add("HANDLE_TIME", "2014年11月18日下午6:00"); string templateFile = Server.MapPath("Advice.doc"); //现有模板文件 Aspose.Words.Document doc = new Aspose.Words.Document(templateFile); //使用文本方式替换 foreach (string name in dictSource.Keys) { //doc.Range.Replace(name, dictSource[name], true, true); Aspose.Words.Bookmark bookmarkd = doc.Range.Bookmarks[name];//插入的书签名 foreach (KeyValuePair
kvp in dictSource) { if (bookmarkd != null) { if (name == kvp.Key) { bookmarkd.Text = kvp.Value; } } } bookmarkd = doc.Range.Bookmarks[name]; } #region 使用书签替换模式 Aspose.Words.Bookmark bookmark = doc.Range.Bookmarks["ACCUSER_SEX"]; if (bookmark != null) { bookmark.Text = "男"; } bookmark = doc.Range.Bookmarks["ACCUSER_TEL"]; if (bookmark != null) { bookmark.Text = "1862029207*"; } #endregion Aspose.Words.Saving.DocSaveOptions docoptions = new Aspose.Words.Saving.DocSaveOptions(SaveFormat.Doc); doc.Save(Page.Response, "testAdvice.doc", Aspose.Words.ContentDisposition.Attachment, docoptions);//Aspose.Words.Saving.SaveOptions.CreateSaveOptions(Aspose.Words.SaveFormat.Doc) } catch (Exception ex) { Response.Write(ex.Message.ToString()); } }

 

转载于:https://www.cnblogs.com/geovindu/p/4106418.html

你可能感兴趣的文章
python的多行注释
查看>>
连接Oracle需要jar包和javadoc文档的下载
查看>>
Dreamweaver cc新版本css单行显示
查看>>
【android】安卓的权限提示及版本相关
查看>>
Java基础教程——网络基础知识
查看>>
Kruskal基础最小生成树
查看>>
【hdu 1429】胜利大逃亡(续)
查看>>
关于收费软件
查看>>
javascript之Style物
查看>>
Factory Design Pattern
查看>>
P1192-台阶问题
查看>>
一、使用pip安装Python包
查看>>
Duilib扩展《01》— 双击、右键消息扩展
查看>>
网站产品设计
查看>>
go 学习笔记(4) ---项目结构
查看>>
java中静态代码块的用法 static用法详解
查看>>
Java线程面试题
查看>>
day22 01 初识面向对象----简单的人狗大战小游戏
查看>>
mybatis源代码分析:深入了解mybatis延迟加载机制
查看>>
Flask三剑客
查看>>