导出word使用模版

2024-08-26 18:32
文章标签 使用 导出 word 模版

本文主要是介绍导出word使用模版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在我们做我们的小组项目的时候,刚开始的时候我们用到的是Mvc+EF,用上了我们的ITOO框架。在最开始的计划,我们要用到瑞郎报表。可是呢,由于工期原因以及技术暂时没有实现,我们不得不想一个比较折中的方法,就是导出模版,让大家直接签到。

当我看到这个,并写出代码之后,感觉真的很不可思议,代码真的是太神奇了,师哥师姐也很神奇。现在给大家分享一下。


首先呢,我们要先用Word制作一个Word模版:

保存成Word 97-2003文档

   


其实后台服务端,打击也都知道,那个是相当简单的。我们来看一下MVC的cotroller里面和导出方法的JS方法是如何写的?

public ActionResult GetBidTRecordinfo(string bidProjectId){//创建一个前台接收信息的实体集合List<BidSignViewModel> bidSign = new List<BidSignViewModel>(); //创建一个接收后台传值得得集合List<BidTRecorderViewModel> bidVM = new List<BidTRecorderViewModel>();//调用方法bidVM = ibidTRservies.GetBidTrecordInfo(bidProjectId);if (bidVM.Count == 0){bidSign = null;}else {for (int i = 0; i < bidVM.Count; i++) {BidSignViewModel enSign = new BidSignViewModel();enSign.BidName = bidVM[i].CompanyName;enSign.BidAdress = bidVM[i].Address;enSign.BidTel = bidVM[i].Tel;enSign.OrganizationCode = bidVM[i].OrganizationCode;bidSign.Add(enSign);}   }return Json(bidSign, JsonRequestBehavior.AllowGet);}#endregion#region 生成投标供应商签到表  ----李卫中---2015年12月17日00:36:45/// <summary>/// 生成投标供应商签到表/// </summary>/// <returns></returns>public ActionResult ExportBidSign() {//获取评标编号的招标信息string BidProjectId = Request["BidProjectId"].ToString();//获取项目名称string  BidRecordName = ibzrservies.GetBidRecordName(BidProjectId);#region 获取招标文件制作模板----李卫中----2015年12月17日00:37:19//获得程序集根目录string rootPath = AppDomain.CurrentDomain.BaseDirectory;//招标文件模板路径var mainDocPath = rootPath + "/Content/投标供应商签到表/" + "投标供应商签到表.doc";Aspose.Words.Document docMain = new Aspose.Words.Document(mainDocPath);DocumentBuilder builder = new DocumentBuilder(docMain);#endregion#region 替换模板中的内容常用字段---李卫中---2015年12月17日00:37:32//获取系统当前时间DateTime now = DateTime.Now;//替换招标项目docMain.Range.Replace("{ProjectName}", BidRecordName, false, false);//替换招标编号         docMain.Range.Replace("{BidProjectId}", BidProjectId, false, false);//替换评标报告生成日期docMain.Range.Replace("{Now}", now.Year + "年" + now.Month + "月" + now.Day + "日", false, false);#endregion#region 嵌入评委打分表格表头----李卫中---2015年12月17日00:37:44//开始添加值builder.MoveToBookmark("table");//添加表头数据ArrayList tableHeadArray = new ArrayList();//添加固定的前两列表头信息tableHeadArray.Add("序号");tableHeadArray.Add("供应商名称");//builder.RowFormat.CellSpacing = 50;tableHeadArray.Add("供应商代表签字");tableHeadArray.Add("供应商地址");tableHeadArray.Add("组织机构代码证");tableHeadArray.Add("联系电话");tableHeadArray.Add("备注");//根据招标编号,获取所对应的所有评分项信息,评分名称作为第二列之后的表头信息//获取评委打分项for (int j = 0; j < tableHeadArray.Count; j++){//插入单元格builder.InsertCell();//设置单元格边框样式及颜色builder.CellFormat.Borders.LineStyle = LineStyle.Single;builder.CellFormat.Borders.Color = System.Drawing.Color.Black;//设置单元格宽度builder.CellFormat.Width = 180;builder.Write(tableHeadArray[j].ToString());}builder.EndRow();#endregion#region  在word.doc中嵌入数据----李卫中---2015年12月17日01:03:29//创建一个接收后台传值得得集合,查询招标商信息List<BidTRecorderViewModel> bidVM = ibidTRservies.GetBidTrecordInfo(BidProjectId);IList<IList<string>> companyName = new List<IList<string>>();for (int i = 0; i < bidVM.Count; i++)  //控制行数{//赋值区域List<string> tempList = new List<string>();tempList.Add((i + 1).ToString());tempList.Add(bidVM[i].CompanyName);tempList.Add(" ");tempList.Add(" ");tempList.Add(" ");tempList.Add(bidVM[i].Tel);tempList.Add(" ");companyName.Add(tempList);}for (int i = 0; i < bidVM.Count; i++)  //控制行{for (int j = 0; j < tableHeadArray.Count; j++)//控制列{//插入单元格builder.InsertCell();//设置单元格边框样式及颜色builder.CellFormat.Borders.LineStyle = LineStyle.Single;builder.CellFormat.Borders.Color = System.Drawing.Color.Black;//设置单元格宽度builder.CellFormat.Width = 180;builder.Write(companyName[i][j].ToString());}builder.EndRow();}#endregion//将替换后的评标报告保存在以下路径string outputPath = rootPath + "/Content/投标供应商签到表.doc";//生成的评标报告的名称string filename = "投标供应商签到表" + now.ToString("yyyy年mm月dd日") + ".doc";//保存文件docMain.Save(outputPath);//将文件返回给视图return File(outputPath, "application/msword", filename);}#endregion


JS模块:

<span style="font-size:18px;">//生成评分统计表
function ExportScoreSummary() {var BidProjectId = document.getElementById('BidProjectId').value;window.location.href = '/BidSign/ExportBidSign?BidProjectId=' + BidProjectId;
}
</span>


总结

每一个模块方面学习,到要先接受,然后再创新,在我们暂时没有能力创新的时候,先学会接受,学会学习,才是一个更好的选择!


这篇关于导出word使用模版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109343

相关文章

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同