将数据绑定DataGrid并输出Excel文档的数据模型问题
来源:互联网 发布:常用控制算法 编辑:程序博客网 时间:2024/05/16 06:46
一个值得注意的小问题。
在写一个将数据绑定DataGrid并输出到Excel文档的方法的时候,碰到了一个小小的问题,就是绑定的数据都是齐全的,但是输出的时候,总是少了几列的内容。
反复检查之下,终于发现了问题:
ExportToExcel方法如下:
#region ExportToExcel:将数据绑定DataGrid并输出到文件 | Eason.L / 2011.08.09 /// <summary> /// 将数据绑定DataGrid并输出到文件 /// </summary> /// <param name="fileName"></param> /// <param name="exportData"></param> public void ExportToExcel(string fileName, List<ExcelModels> exportData) { if (exportData != null) { // 建立 DataGrid 用于绑定数据并格式化输出 System.Web.UI.WebControls.DataGrid dgExport = new System.Web.UI.WebControls.DataGrid(); // 获取当前对话内容 System.Web.HttpContext curContext = System.Web.HttpContext.Current; // 创建 IO String 用于导出并返回excel文件 System.IO.StringWriter strWriter = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter); // 需要重新定义一个无分页的DataGrid dgExport.DataSource = exportData; dgExport.AllowPaging = false; dgExport.DataBind(); // 返回客户端 dgExport.RenderControl(htmlWriter); System.IO.FileInfo file = new System.IO.FileInfo(fileName); file.Delete(); // 设置编码和附件格式 curContext.Response.ContentType = "application/vnd.ms-excel"; curContext.Response.ContentEncoding = System.Text.Encoding.UTF8; curContext.Response.Charset = "UTF-8"; // 输出到文件流 curContext.Response.Write(strWriter.ToString()); curContext.Response.AppendHeader("Content-Disposition", "attachment; filename=\"" + System.Web.HttpUtility.UrlEncode(Path.GetFileName(fileName), System.Text.Encoding.GetEncoding("UTF-8")) + "\""); curContext.Response.End(); } } #endregion
其中 ExcelModels 的定义如下:
public class _200Models { /// <summary> /// 主叫号码 /// </summary> public string FromNum { get; set; } /// <summary> /// 被叫号码 /// </summary> public string ToNum { get; set; } /// <summary> /// 开始时间 /// </summary> public DateTime? StartTime { get; set; } /// <summary> /// 结束时间 /// </summary> public DateTime? EndTime { get; set; } /// <summary> /// 时长 /// </summary> public int? Timings { get; set; } /// <summary> /// 计费 /// </summary> public int? Fee { get; set; } /// <summary> /// 计费标识 /// </summary> public int? FeeMark { get; set; } }
导出的 Excel 文档中,只有非空字段属性 FromNum 和 ToNum 的内容,其他可空属性全部没有了~
只有将所有可空属性类型的?去掉,变成非空类型之后,才完整地输出了所有的数据。
- 将数据绑定DataGrid并输出Excel文档的数据模型问题
- 如何将datagrid控件绑定的数据导出到excel中
- 将DataGrid数据导出到Excel和Word文档
- 将DataGrid的数据直接导入Excel
- 将DataGrid中数据倒出Excel文件并下载
- 将DataGrid中数据倒出Excel文件并下载
- 将DataGrid中数据倒出Excel文件并下载
- 将DataGrid中数据倒出Excel文件并下载
- 将DataGrid中数据倒出Excel文件并下载
- asp.net C#将文档或控件dataGrid输出为Excel文档下载
- DataGrid的数据绑定
- datagrid数据绑定并格式化的一个例子
- 将GrideView里面的数据输出Excel
- 将DataGrid输出到Excel文件
- 将DataGrid输出到Excel文件
- 将DataGrid输出到Excel文件
- winform中 将DataGrid中的数据导入Excel中,并显示Excel应用程序
- winform中 将DataGrid中的数据导入Excel中,并显示Excel应用程序
- DSP2812研发的测深仪
- s3c2410 framebuffer 设备驱动 相关结构体
- Android中的WatchDog
- [转译] Forefront TMG SP1软件更新1汇总2发布
- 职场新人,你知道为何被炒了?
- 将数据绑定DataGrid并输出Excel文档的数据模型问题
- 时区设置- Windows 平台
- Objective-C类-Objective-C 分离 接口和实现文件
- 由地图共享到电子商务网站导购
- DDraw笔记-高彩模式
- 如果视图或等等,速度很慢的解决办法
- word
- 如何查找你的mac地址
- Objective-C类-Objective-C 合成存取器方法