/// <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. Css 小技巧总结

    相对偏移 指定left top等属性就能够够完美控制一个元素的位置 如: position:relative; left:2px; 今天遇到一个很好玩的问题,当两个并排浮动框,当一个框的长度太大时就会 ...

  2. 【转】6.4.6 将驱动编译进Linux内核进行测试

    原文网址:http://www.apkbus.com/android-98520-1-1.html 前面几节都是将Linux驱动编译成模块,然后动态装载进行测试.动态装载驱动模块不会随着Android ...

  3. orcl改变临时表空间的指令

    sqlplus / as sysdba: alter database tempfile 'D:\oracle\product\10.2.0\oradata\zhongnan\temp01.dbf' ...

  4. linux下java调用.so动态库方法2: JNA

    摘自:http://blog.csdn.net/todorovchen/article/details/21319033 另请参见: http://blog.sina.com.cn/s/blog_8c ...

  5. IOS Xmpp 创建固定房间

    XMPPRoom *room; // 初始化房间 XMPPRoomCoreDataStorage *rosterstorage = [[XMPPRoomCoreDataStorage alloc] i ...

  6. LightOJ 1338 && 1387 - Setu && LightOJ 1433 && CodeForces 246B(水题)

    B - B Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Status P ...

  7. Unity3d修炼之路:载入一个预制体,然后为该对象加入组件,然后查找对象,得到组件。

    #pragma strict function Awake(){ //载入一个预制体 资源必须在 Resources目录下 Resources.LoadLoad(); //载入后 必须演示样例化 Ga ...

  8. Lua多重继承

    http://blog.csdn.net/ssihc0/article/details/7742421 代码收藏了,以后用的到 --多重继承 local function search(k,plist ...

  9. Unity 3D 进度条制作

    我们都知道玩游戏时,第一步要加载游戏,加载游戏时我们可以做一个简单的进度条来显示游戏加载进度,应为有了进度条,游戏画面不会过于呆板. 那么我们就开始游戏的进度条制作吧! 方法一: 1,使用NGUI制作 ...

  10. 未找到具有固定名称“System.Data.SQLite”的 ADO.NET 提供程序的实体框架提供程序

    用户代码未处理 System.InvalidOperationException   HResult=-2146233079   Message=未找到具有固定名称"System.Data. ...