/// <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. ffmpeg参数解释 <第三篇>

    例子:ffmpeg -y -i "1.avi" -title "Test" -vcodec xvid -s 368x208 -r 29.97 -b 1500 - ...

  2. The type R is already defined 错误解决办法

    今天在导入一个开源项目的时候遇到了The type R is already defined的错误,试过了删除R,clear project都还是报这个错,Google一下之后找到了解决办法在 Pro ...

  3. LeeCode-Sqrt(x)

    Implement int sqrt(int x). Compute and return the square root of x. int mySqrt(int x) { ) ; /* for(i ...

  4. 三十三、Java图形化界面设计——布局管理器之null布局(空布局)

    摘自http://blog.csdn.net/liujun13579/article/details/7774267 三十三.Java图形化界面设计--布局管理器之null布局(空布局) 一般容器都有 ...

  5. 【转换模型+扫描线】【UVA1398】Meteor

    The famous Korean internet company nhn has provided an internet-based photo service which allows The ...

  6. 在SQL中修改数据库名称

    假设SQL Server 2008中有个数据库test,现在要将其改名为zhy步骤:(1) 分离数据库:打开management studio,找到test数据库-->右键-->任务--& ...

  7. Android_xml背景色的值

    点击(此处)折叠或打开 <?xml version="1.0" encoding="utf-8" ?> <resources> < ...

  8. hadoop压缩配置

    为何要使用压缩,压缩可以是文件的大小减小很多,节省空间:另外压缩后的文件在传输时更节省带宽. 所需软件: 1)lzo 2)hadoop-lzo 3)maven 安装编译: 1)lzo wget htt ...

  9. Uva 10652 Board Wrapping(计算几何之凸包+点旋转)

    题目大意:给出平面上许多矩形的中心点和倾斜角度,计算这些矩形面积占这个矩形点形成的最大凸包的面积比. 算法:GRAHAM,ANDREW. 题目非常的简单,就是裸的凸包 + 点旋转.这题自己不会的地方就 ...

  10. 从汇编看c++成员函数指针(二)

    下面先看一段c++源码: #include <cstdio> using namespace std; class X { public: virtual int get1() { ; } ...