/// <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. CEF3 怎样禁止右键菜单

    CEF3 怎样禁止右键菜单 (2013-07-30 11:56:34)转载▼标签: cef3 右键菜单 分类: CEF3问题描述:CEF3 嵌入成功后,在网页点鼠标右键,出现英文菜单,应该怎样禁止掉呢 ...

  2. JAVA的类加载器,详细解释

    JVM规范定义了两种类型的类装载器:启动内装载器(bootstrap)和用户自定义装载器(user-defined class loader). 一. ClassLoader基本概念 1.ClassL ...

  3. EF中读取随机数据的问题

    _list.Where(a=>a.级别=="1").OrderBy(a => Guid.NewGuid()).Take(10);

  4. Unique Binary Search Trees 解答

    Question Given n, how many structurally unique BST's (binary search trees) that store values 1...n? ...

  5. C++静态成员函数不能调用非静态成员变量

    其实我们从直观上可以很好的理解静态成员函数不能调用非静态成员变量这句话因为无论是静态成员函数还是静态成员变量,它们 都是在类的范畴之类的,及在类的整个生存周期里始终只能存在一份.然而非静态成员变量和非 ...

  6. HTML标签的offset、client、 scroll和currentStyle属性

    本文来自:http://www.cnblogs.com/quanhai/archive/2010/04/19/1715231.html offsetHeight = borderTopWidth + ...

  7. leetcode_question_73 Set Matrix Zeroes

    Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. Follow ...

  8. vs在线工具杂烩

    http://visualstudiogallery.msdn.microsoft.com/site/search?f%5B0%5D.Type=RootCategory&f%5B0%5D.Va ...

  9. linux C连接mysql

    linux 环境下C语言连接数据库首先要配置环境 1,确定你的linux下安装mysql我们可以做个测试. 打开你的终端,在终端下输入:service mysqld status [root@bogo ...

  10. oracle取分组的前N条数据

    select * from(select animal,age,id, row_number()over(partition by animal order by age desc) row_num ...