/// <summary>
/// 夜班津贴统计导出
/// </summary>
public void ExportOtStat(string data)
{
var input = data.DeserializeObject<StructExportOtStat>();
List<Usp_PRO_ExportOtStatResult> list = null;
using (var context = PRODBHelper.DataContext)
{
list = context.Usp_PRO_ExportOtStat(input.beginDate, input.endDate).ToList();
//var output = results.ToList().SerializeObject();
//HttpContext.Current.Response.Write(output);
}
//HttpContext.Current.Response.End();
StringBuilder sbdHTML = new StringBuilder();
DateTime StartDate = input.beginDate;
DateTime EndDate = input.endDate;
Hashtable hshData = new Hashtable();
string[] arrColumns = {"序号",
"员工编号",
"姓名",
"开始时间",
"结束时间",
"夜班日期",
"津贴标准",
"夜班次数",
"津贴总数"};
sbdHTML.Append("<HTML>");
sbdHTML.Append(GetExcelTitleHTML(StartDate));
sbdHTML.Append("<div style=\"height:50px\"></div>");
sbdHTML.Append(GetExcelInfo(StartDate));
sbdHTML.Append("<div style=\"height:10px\"></div>");
sbdHTML.Append("<Table border=1>");
sbdHTML.Append(GetOTExcelHeaderHTML(arrColumns));
foreach (Usp_PRO_ExportOtStatResult item in list)
{
sbdHTML.Append(GetExcelRowHTML(item));
}
sbdHTML.Append("</Table>");
sbdHTML.Append("</HTML>");
HttpResponse resp;
resp = System.Web.HttpContext.Current.Response;
resp.Charset = "GB2312";
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename="
+ System.Web.HttpUtility.UrlEncode("信息总中心" + StartDate.Month.ToString() + "月夜班津贴统计.xls", System.Text.Encoding.UTF8));
resp.Write(sbdHTML.ToString());
resp.End();
}
private string GetExcelTitleHTML(DateTime ReportDate)
{
StringBuilder sbdHTML = new StringBuilder();
sbdHTML.AppendFormat("<div align=\"center\" style=\"width:60%; font-size:large; font-weight:bold;\" >{0}年{1}月夜班津贴统计表</div>",
ReportDate.Year.ToString(),ReportDate.Month.ToString());
return sbdHTML.ToString();
}
private string GetExcelInfo(DateTime ReportDate)
{
StringBuilder sbdHTML = new StringBuilder();
sbdHTML.Append("<div align=\"left\" style=\"width:60%\">部门(盖章):信息总中心</div>");
return sbdHTML.ToString();
}
private string GetOTExcelHeaderHTML(string[] arrColumns)
{
StringBuilder sbdHTML = new StringBuilder();
sbdHTML.Append("<tr>");
for (int i = ; i < arrColumns.Length; i++)
{
sbdHTML.AppendFormat("<td>{0}</td>", arrColumns[i]);
}
sbdHTML.Append("</tr>");
return sbdHTML.ToString();
}
private string GetExcelRowHTML(Usp_PRO_ExportOtStatResult item)
{
StringBuilder sbdHTML = new StringBuilder();
sbdHTML.Append("<tr>");
sbdHTML.AppendFormat("<td>{0}</td>", item.ID);
sbdHTML.AppendFormat("<td>{0}</td>", item.UserID);
sbdHTML.AppendFormat("<td>{0}</td>", item.UserName);
sbdHTML.AppendFormat("<td>{0}</td>", item.BeginTime);
sbdHTML.AppendFormat("<td>{0}</td>", item.EndTime);
sbdHTML.AppendFormat("<td>{0}</td>", item.NightShiftDates);
sbdHTML.AppendFormat("<td>{0}</td>", item.SalaryNormal.ToString());
sbdHTML.AppendFormat("<td>{0}</td>", item.NightShiftNum.ToString());
sbdHTML.AppendFormat("<td>{0}</td>", item.SalarySum.ToString());
sbdHTML.Append("</tr>");
return sbdHTML.ToString();
}

C# 导出 excel 复杂格式 html导出的更多相关文章

  1. (转载)DBGridEh导出Excel等格式文件

    DBGridEh导出Excel等格式文件 uses DBGridEhImpExp; {--------------------------------------------------------- ...

  2. .Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) 通过MVC控制器导出导入Excel文件(可用于java SSH架构)

    .Net MVC  导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) [原文地址] 通过MVC控制器导出导入Excel文件(可用于java SSH架构)   public cl ...

  3. goalng导出excel(csv格式)

    最近项目中有个小需求,需要将查询结果导出到excel.之间前java比较容易,使用POI很容易就能实现,查了下golang的文档,发现golang下边并没有导出excel的包,但是却有一个encodi ...

  4. AX导出excel设置格式

    今天在AX2009里面写一个导出EXCEL,没有模版,这是第一次碰到,之后写完之后发现导出的数据格式不对. 到处取经之后得到一下结果: 定义一个 Com   range; SysExcelCells  ...

  5. POI导入导出Excel(HSSF格式,User Model方式)

    1.POI说明 Apache POI是Apache软件基金会的开源代码库, POI提供对Microsoft Office格式档案读和写的功能. POI支持的格式: HSSF - 提供读写Microso ...

  6. 将数据 导出excel表格式

    我的考试完提交生成的数据 这是我的考试题类型 //导出调查评议的数据 public function diaocha(){ $xlsName = '表格形式 调查评议 信息'; $xlsTitle = ...

  7. Java POI 导出EXCEL经典实现 Java导出Excel

    转自http://blog.csdn.net/evangel_z/article/details/7332535 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者 ...

  8. 利用PHPExcel导出excel 以及利用js导出excel

    导出excel的方法output_excel需要依赖PHPExcel 导出csv的方法csv_export不需要 <?php /** * @author ttt */ class ExcelCo ...

  9. html table表格导出excel的方法 html5 table导出Excel HTML用JS导出Excel的五种方法 html中table导出Excel 前端开发 将table内容导出到excel HTML table导出到Excel中的解决办法 js实现table导出Excel,保留table样式

    先上代码   <script type="text/javascript" language="javascript">   var idTmr; ...

随机推荐

  1. Qt浅谈之二十App自动重启及关闭子窗口(六种方法)

    一.简介 最近因项目需求,Qt程序一旦检测到错误,要重新启动,自己是每次关闭主窗口的所有子窗口但有些模态框会出现问题,因此从网上总结了一些知识点,以备以后的应用. 二.详解 1.Qt结构 int ma ...

  2. 如何检索Android设备的唯一ID

    关于本文档 Android的开发者在一些特定情况下都需要知道手机中的唯一设备ID.例如,跟踪应用程序的安装,生成用于复制保护的DRM时需要使用设备的唯一ID.在本文档结尾处提供了作为参考的示例代码片段 ...

  3. UESTC_冬马党 CDOJ 882

    冬马党 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit Statu ...

  4. 剑指offer-面试题10:二进制中1的个数

    题目:请实现一个函数,输入一个函数,输出该数二进制表示中1的个数.例如把9 表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2. 这道题最典型的方法就是用移位统计,就比如统计9的二进制1 ...

  5. Unity position和localposition

    1. position是根据世界原点为中心 2. localPosition是根据父节点为中心,如果没有父节点,localpositon和position是没有区别的 3.选中一个物体左上角Globa ...

  6. HttpURLConnection访问url的工具类

    java代码: import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; ...

  7. java模拟get/post提交

    1:用jdk连接 String action = "xxxxxxxxxxx": URL url = new URL(action); HttpURLConnection http ...

  8. 用Unity做的一个小游戏,仿照一个样例写的,个人认为文章写的不错,哈哈

  9. 深入浅出SlidingMenu

    如果想直接查看源码的话可以从我的Github上下载查看:https://github.com/zhanghuijun0/demo-for-android/tree/master/SlidingMenu ...

  10. Intent中的重要属性详解

    Intent中的四个重要属性主要有四个,分别是Action.Data.Category.Extras. Intent作为联系各Activity,BroadcaseReciver,Service之间的纽 ...