ExportToExcel生成自定义列如何做?如何避免导出身份证号为数字?

ekinchen3 ekinchen3 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
使用ExportToExcel函数,附后,
调用如下:
BLL.farmers bll = new BLL.farmers();
DataSet ds = bll.GetListForExcel(txtSQL.Text.ToString().Trim());
IList dList = ds.Tables[0].DefaultView;
string nl = DateTime.Now.ToString();
ExportHelper.ExportToExcel(dList, new string[] { "name", "sex", "birth", "idcard", "scores", "evaluate"}, new string[] { "姓名", "性别", "出生日期", "身份证号", "得分", "评价“ }, "综合查询结果");

需求一:还想生成一列为年龄,通过出生日期计算出来的,如何做啊?好像这个函数只支持生成已有数据库字段的?
需求二:导出身份证一列为数字型,例如3.40421E+17,
如何导出字符型?


public class ExportHelper
{

public static void ExportToExcel(IList dataList, string[] fields, string[] headTexts, string title)
{
GridView gvw = new GridView();
int ColCount, i;

//如果筛选的字段和对应的列头名称个数相对的情况下只导出指定的字段
if (fields.Length != 0 && fields.Length == headTexts.Length)
{
ColCount = fields.Length;
gvw.AutoGenerateColumns = false;

for (i = 0; i < ColCount; i++)
{
BoundField bf = new BoundField();
bf.DataField = fields[i];
bf.HeaderText = headTexts[i];
gvw.Columns.Add(bf);
}
}
else
{
gvw.AutoGenerateColumns = true;
}

SetStype(gvw);
gvw.DataSource = dataList;
gvw.DataBind();

ExportToExcel(gvw, title);
}
/// <summary>
/// 导出数据到Excel
/// </summary>
/// <param name="DataList">IList Data</param>
/// <param name="Fields">要导出的字段</param>
/// <param name="HeadName">字段对应显示的名称</param>
public static void ExportToExcel(IList dataList, string[] fields, string[] headTexts)
{
ExportToExcel(dataList, fields, headTexts, string.Empty);
}

/// <summary>
/// 设置样式
/// </summary>
/// <param name="gvw"></param>
private static void SetStype(GridView gvw)
{
gvw.Font.Name = "Verdana";
gvw.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
gvw.HeaderStyle.BackColor = System.Drawing.Color.LightCyan;
gvw.HeaderStyle.ForeColor = System.Drawing.Color.Black;
gvw.HeaderStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
gvw.HeaderStyle.Wrap = false;
gvw.HeaderStyle.Font.Bold = false;
gvw.HeaderStyle.Font.Size = 15;
gvw.RowStyle.Font.Size = 12;
gvw.RowStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
}
/// <summary>
/// 导出GridView中的数据到Excel
/// </summary>
/// <param name="gvw"></param>
/// <param name="DataList"></param>
private static void ExportToExcel(GridView gvw, string title)
{
string fileName;
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.Charset = "GB2312";
// HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
fileName = string.Format("{0:yyyy-MM-dd_HH_mm_ss}.xls", DateTime.Now);
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName);
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
StringWriter tw = new System.IO.StringWriter();
HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
gvw.RenderControl(hw);
if (!string.IsNullOrEmpty(title))
{
HttpContext.Current.Response.Write("<b><center><font size=5 face=Verdana color=#000>" + title + "</font></center></b>");
}
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();
HttpContext.Current.Response.End();

gvw.Dispose();
tw.Dispose();
hw.Dispose();

gvw = null;
tw = null;
hw = null;

}


}
...全文

相关推荐

ExportToExcel:一个用于将数据导出为Excel格式的Java库

【ExportToExcel:一个用于将数据导出为Excel格式的Java库】在IT行业中,数据的导入导出是一项常见的需求,特别是在数据分析、报表生成以及数据交换等场景中。

绘画窝

WinForm酒店管理系统实战:面向真实场景的桌面开发指南

酒店管理系统是典型行业垂直应用,其核心诉求在于本地化、高可靠与低学习成本。WinForm作为.NET原生桌面开发技术,凭借对老旧硬件兼容、打印机直驱控制、零依赖部署及极简调试能力,在中小酒店、民宿等弱网离线环境中展现出不可替代的技术价值。本文围绕开房流程、房态同步、报表导出与权限审计四大高频模块,结合Dapper轻量数据访问、LocalDB嵌入式数据库和Windows消息广播等关键技术,系统阐述如何构建一个日均300+操作、连续运行18个月不崩溃的生产级系统。适用于.NET初学者与酒店IT运维人员。

lanmh

ExportToExcel

标题“ExportToExcel”指的是一个使用C++编程语言实现的功能,该功能允许用户将数据导出到Excel文件中。

少年班

spring导出Excel

本篇文章将深入探讨如何使用Spring Boot结合jxl库实现Excel文件的生成与导出,以及如何自定义标题列。首先,让我们了解Excel文件的基本概念。

亚里土缺德

demo_ExportToExcel.rar

总的来说,“demo_ExportToExcel.rar”这个项目展示了如何在Java中使用jxl.jar库来实现数据导出到Excel的功能,这对于数据分析、报表生成以及数据交换等场景非常有用。

禺垣
评论 5
收藏 已收藏
分享
返回顶部
ekinchen3
.NET社区 62,272 成员 668,968 内容