c# html 导出word
[CustomAuthorize]
public FileResult ExportQuestionCenterWord(SearchBaseQuestion search)
{
StringWriter strWriter = new StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(strWriter);
StringBuilder sb = null;
string html = "";
try
{
search.PageSize = Int32.MaxValue;
search.Status = DeleteMarkEnum.Active;
search.isAnswer = IsAnswerEnum.Total;
search.isReview = IsReviewEnum.Total;
search.AddOrderBy("MODIFYDATE", SearchOrderType.Desc);
if (search.SOURCE == "0")
search.SOURCE = "";
if (search.MODULE == "0")
search.MODULE = "";
if (search.QUESTIONTYPE == "0")
search.QUESTIONTYPE = "";
if (search.QSTATUS == "0")
search.QSTATUS = "";
if (search.ADMINID == "0")
search.ADMINID = "";
if (!string.IsNullOrEmpty(search.IsSaleQuestion) && search.IsSaleQuestion == "1")
search.CUSTOMERMANAGERIDs = GetInPermissionCustomerMannagerIDs();
IList<BASE_QUESTION> baseQuestionList = questionManager.SearchQuestionList(search);
IList<BASE_CHOICECUSTOMERMANAGER> managerList = customerManagerService.GetChoiceCusManageList();
SearchChoiceCusManager search_msg = new SearchChoiceCusManager();
search_msg.SearchType = SearchTypeEnum.Total;
search_msg.Status = DeleteMarkEnum.Active;
search_msg.parentIdMany = "samedatakefu";
IList<BASE_CHOICECUSTOMERMANAGER> choiceManagerList = choiceCusManagerManager.Search(search_msg);
if (baseQuestionList.Count > 0)
{
foreach (var baseQuestion in baseQuestionList)
{
//获取受理人
string ADMINID_Str = "";
if (choiceManagerList != null && choiceManagerList.Count > 0)
{
BASE_CHOICECUSTOMERMANAGER em = choiceManagerList.Where(m => m.USERID == baseQuestion.ADMINID).FirstOrDefault();
if (em != null)
{
ADMINID_Str = em.NAME;
}
}
BASE_CHOICECUSTOMERMANAGER manager = managerList.FirstOrDefault(t => t.ID == baseQuestion.CUSTOMERMANAGERID);
string strSource = string.Empty;
switch (baseQuestion.SOURCE)
{
case 1:
strSource = "QQ";
break;
case 2:
strSource = "Email";
break;
case 3:
strSource = "Online";
break;
case 4:
strSource = "Sales";
break;
case 5:
strSource = "用户直通车";
break;
case 6:
strSource = "需求直通车";
break;
case 7:
strSource = "回访";
break;
case 8:
strSource = "QQ群";
break;
case 9:
strSource = "社区";
break;
case 10:
strSource = "微信群";
break;
default:
strSource = "全部";
break;
}
sb = new StringBuilder();
sb.Append("<table border='1' cellspacing='0' style=\"width;1200px;\">");
sb.Append("<tbody>");
//第一行
sb.Append("<tr align='center'>");
sb.Append("<td colspan='3' style='width:1200px;'>");
sb.Append(baseQuestion.TITLE == null ? StringConst.NAConst : baseQuestion.TITLE);
sb.Append("</td>");
sb.Append("</tr>");
//第二行
BASE_USER user = userManager.GetUserByUniqueId(baseQuestion.USERID);
if (user == null)
user = new BASE_USER();
sb.Append("<tr>");
sb.Append("<td style='width:400px;'>");
sb.Append("姓名:" + user.REALNAME);
sb.Append("</td>");
sb.Append("<td style='width:400px;'>");
sb.Append("账号:" + baseQuestion.USERNAME);
sb.Append("</td>");
sb.Append("<td style='width:400px;'>");
sb.Append("联系方式:" + baseQuestion.MOBILE);
sb.Append("</td>");
sb.Append("</tr>");
//第三行
sb.Append("<tr>");
sb.Append("<td style='width:400px;'>");
sb.Append("模块:" + (string.IsNullOrEmpty(baseQuestion.MODULE) ? "" : packageTreeCopy.GetOneById(baseQuestion.MODULE) == null ? "" : packageTreeCopy.GetOneById(baseQuestion.MODULE).FULLNAME));
sb.Append("</td>");
sb.Append("<td style='width:400px;'>");
sb.Append("问题类型:" + AttributesUtils.GetEnumDescription<QuestionCenterTypeEnum>(baseQuestion.QUESTIONTYPE));
sb.Append("</td>");
sb.Append("<td style='width:400px;'>");
sb.Append("状态:" + AttributesUtils.GetEnumDescription<QuestionCenterStatusEnum>(baseQuestion.STATUS));
sb.Append("</td>");
sb.Append("</tr>");
//第四行
sb.Append("<tr>");
sb.Append("<td style='width:400px;'>");
sb.Append("受理人:" + ADMINID_Str);
sb.Append("</td>");
sb.Append("<td style='width:400px;'>");
sb.Append("产品对接人:" + baseQuestion.PRODUCTMANAGERNAME);
sb.Append("</td>");
sb.Append("<td style='width:400px;'>");
sb.Append("下次跟踪时间:" + (baseQuestion.NEXTVIEWDATE.ToString() == "0001-01-01 00:00:00" ? "" : baseQuestion.NEXTVIEWDATE.ToString()));
sb.Append("</td>");
sb.Append("</tr>");
//第五行
sb.Append("<tr>");
sb.Append("<td style='width:400px;'>");
sb.Append("标签:" + baseQuestion.KEYWORD);
sb.Append("</td>");
sb.Append("<td colspan='2' style='width:800px;'>");
sb.Append("来源:" + strSource);
sb.Append("</td>");
sb.Append("</tr>");
//第六行
sb.Append("<tr'>");
sb.Append("<td colspan='3' style='width:1200px;'>");
sb.Append("内容:" + baseQuestion.CONTENT);
sb.Append("</td>");
sb.Append("</tr>");
//第七行
string questionID = baseQuestion.ID.ToString();
BASE_ANSWER answer = answerManager.GetAnswerByQuestionsID(questionID);
sb.Append("<tr'>");
sb.Append("<td colspan='3' style='width:1200px;'>");
sb.Append("回复:" + (answer == null ? "" : HtmlDecode(answer.CONTENT)));
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</tbody>");
sb.Append("</table>");
sb.Append("<br/>");
sb.Append("<br/>");
html += sb.ToString();
}
strWriter.Write(html);
}
else
{
strWriter.WriteLine("没有数据!");
}
}
catch (Exception ex)
{
LogHelper.Instance.Error("ExportQuestionCenterWord error:", ex);
strWriter.WriteLine("导出出现问题:" + ex.Message);
}
byte[] fileContents = Encoding.GetEncoding("gb2312").GetBytes("<html><head><meta http-equiv=Content-Type content=\"text/html; charset=gb2312\"><body>" + strWriter.ToString() + "</body></html>");
return File(fileContents, "application/vnd.ms-word", string.Format("{0}.doc", "问题中心" + DateTime.Now.Date.ToString("yyyyMMdd")));
}
c# html 导出word的更多相关文章
- java 导出word 并下载
记录一下导出操作 源码: /************ * 导出word 并下载 * @param id 房号记录编号 * ***********************/ @RequestMappin ...
- Asp.net通过模板(.dot/Html)导出Word,同时导出图片
一.Office组件导出Word(服务器配置麻烦) 需要引用Office的DLL,在下文的附件中,不同的Offic版本用的不一样,虽然高级版本可以兼容低级的,不过,还是统一版本最好 贴上核心代码(转载 ...
- 导出Excel And 导出word
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default6.aspx. ...
- 使用NPOI2.1.3.1版本导出word附带表格和图片
原文:http://www.cnblogs.com/afutureBoss/p/4074397.html?utm_source=tuicool&utm_medium=referral 最近项目 ...
- Java使用velocity导出word
效果展示: 使用word编辑好模板
- 【吉光片羽】MVC 导出Word的两种方式
1.直接将Html转成Word.MVC自带FileResult很好用.Html中我们也可以嵌入自己的样式. html: <div id="target"> <st ...
- java导出word的6种方式(复制来的文章)
来自: http://www.cnblogs.com/lcngu/p/5247179.html 最近做的项目,需要将一些信息导出到word中.在网上找了好多解决方案,现在将这几天的总结分享一下. 目前 ...
- 【MVC】 非常简单的页面导出 WORD, EXCEL方法
[MVC] 页面导出 WORD, EXCEL 前端 js function output() { var para = new Object(); para.html = getHtml(" ...
- 网页内容导出word/excel的js代码
IE设置: 工具-> Internet选项-> 安全->自定义级别-> 对没有标记安全级别的ActiveX控件进行初始化 设为启用! 1.导出word //指定区域导出到Wo ...
- MVC4 导出word
添加程序包 DocX using System.IO;using Novacode; /// <summary> /// 导出Word /// </summary> publi ...
随机推荐
- servlet,过滤器,监听器,拦截器的区别
一.目录 1.概念 2.生命周期 3.职责 4.执行过程 二.内容 概念 1.servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性, 可以动态生成web页面它 ...
- 关于从Oracle数据库中删除表数据
1,删除表 drop 1.1 执行drop table table_name 语句 被 drop后的表被放在用户回收站(user_recyclebin)里,而没有被直接删除掉,回收站里的表可以被恢复 ...
- Oracle常用内置函数
转换函数 to_char(d|n,fmt):把日期和数字转换为指定格式的字符串: to_number(x,fmt):把一个字符串转换为一个指定格式的数字: 判空函数 nvl(x,value):如果 ...
- 时间、时间戳相关小结 - iOS
项目中难免会与时间打交道,故此次围绕时间展开做了一些日常使用的小结;如下 code 中也是围绕一些日常开发中较为常用的点展开小的方法封装. 具体方法的使用如下: // 2019-02-21 17:30 ...
- RN如何固定底部的按钮
如上图的底部新增按钮,要是放在web里那是相当简单,直接是用固定定位就行,但是在RN里是没有固定定位可言的. 方案一: 采用绝对定位,相对于最外层的定位在底部位置.(在部分安卓机上有问题,动态计算的高 ...
- Magazine Ad CodeForces - 803D(二分 + 贪心,第一次写博客)
Magazine Ad The main city magazine offers its readers an opportunity to publish their ads. The forma ...
- centOS上的基础文件操作
文件及文件夹的基础操作: 1: 新建 (1)在当前目录新建一个文件夹 dir foldername (2) 新建文件: 当前目录 vi newFile.text ...
- 抓包之Charles For Mac 4.0+破解版
前言:突然间发现好久没有写博客了,最近被公司的项目弄得脑壳疼
- 【Spark】源码分析之RDD的生成及stage的切分
一.概述 Spark源码整体的逻辑(spark1.3.1): 从saveAsTextFile()方法入手 -->saveAsTextFile() --> saveAsHadoopFile ...
- 最小化的测试套件minimal_test的使用
1:需要包含文件文#include <boost/test/minimal_test.hpp> 2:minimal_test内部实现了main(), 因此无需自己编写main()函数, 只 ...