博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DataSet/DataTable中数据导入到Excel
阅读量:6148 次
发布时间:2019-06-21

本文共 2874 字,大约阅读时间需要 9 分钟。

DataSet/DataTable中数据导入到Excel

项目中经常遇到把数据导入到Excel,网上很多案例都是把gridview数据导入到Excel,很少有把DataTable,dataSet中数据导入到Excel

不同项目有不同数据和不同需求,现在以订单为例:

从ViewState中取出存储的DataTable数据

让后做相应的格式化;

代码:

导出Excel
1 if (ViewState["dt"] == null) 2         { 3             return; 4         } 5         DataTable dt = (DataTable)ViewState["dt"]; 6         if (dt == null || dt.Rows.Count <= 0) 7         { 8             return; 9         }10         DataTable newdt = new DataTable();11         newdt.Columns.Add("产品名称", typeof(string));12         newdt.Columns.Add("产品编号", typeof(string));13         newdt.Columns.Add("规格", typeof(string));14         newdt.Columns.Add("单价", typeof(string));15         newdt.Columns.Add("数量", typeof(string));16         newdt.Columns.Add("金额", typeof(string));17         newdt.Columns.Add("供应商", typeof(string));18         newdt.Columns.Add("采购申请人", typeof(string));19         newdt.Columns.Add("备注", typeof(string));20         newdt.Columns.Add("提交时间", typeof(string));21         for (int i = 0; i < dt.Rows.Count; i++)22         {23             DataRow dr = newdt.NewRow();24             dr["产品名称"] = dt.Rows[i]["PRODUCTNAME"].ToString();25             dr["产品编号"] = dt.Rows[i]["PRODUCTID"].ToString();26             dr["规格"] = dt.Rows[i]["PURITY"].ToString();27             dr["单价"] = dt.Rows[i]["UNITPRICE"].ToString();28             dr["数量"] = dt.Rows[i]["QUANTITY"].ToString();29             dr["金额"] = dt.Rows[i]["SUMPRICE"].ToString();30             dr["供应商"] = dt.Rows[i]["SUPPLYNAME"].ToString();31             dr["采购申请人"] = dt.Rows[i]["FORPERSON"].ToString();32             dr["备注"] = dt.Rows[i]["BEIZHU"].ToString();33             dr["提交时间"] = dt.Rows[i]["CREATETIME"].ToString();34             newdt.Rows.Add(dr);35         }36         StringWriter sw = new StringWriter();37         string str = "";38         //构建Excel 表头39         for (int i = 0; i < newdt.Columns.Count; i++)40         {41             str += newdt.Columns[i].ColumnName + "\t";42         }43         str = str.Substring(0, str.Length - 1);44         sw.WriteLine(str);45         //构建Excel数据部分46         for (int i = 0; i < newdt.Rows.Count; i++)47         {48             str = "";49             for (int j = 0; j < newdt.Columns.Count; j++)50             {51                 str += newdt.Rows[i][newdt.Columns[j].ColumnName].ToString() + "\t";52             }53             str = str.Substring(0, str.Length - 1);54             sw.WriteLine(str);55         }56         //输出到Excel57         Response.Clear();58         Response.AddHeader("Content-disposition", "attachment;filename=outOrginOrderInfos.xls");59         Response.ContentEncoding = Encoding.GetEncoding("gb2312");60         Response.ContentType = "application/ms-excel";61         Response.Charset = "gb2312";62         Response.Write(sw.ToString());63         sw.Close();64         Response.Flush();65         Response.End();

 

转载地址:http://otmya.baihongyu.com/

你可能感兴趣的文章
ES6初探,什么是ES6
查看>>
ORACLE用户操作的一些常用操作总结【weber出品】
查看>>
redhat9 linux 网卡无法激活排障
查看>>
实践详细篇-Windows下使用VS2015编译安装Caffe环境(CPU ONLY)
查看>>
go 成长路上的坑(1)
查看>>
设计模式之建造者模式
查看>>
如何把本地文件上传到gitlab上已存在的工程里
查看>>
BZOJ-3713[PA2014]Iloczyn
查看>>
JavaScript的异步运行机制
查看>>
截取字符串显示
查看>>
数据字典生成工具之旅(8):SQL查询表的约束默认值等信息
查看>>
Anroid开发中常用快捷键
查看>>
Abp中使用可视化的日志面板
查看>>
安装Cassandra数据库和访问客户端配置
查看>>
92. Reverse Linked List II 反转链表 II
查看>>
HTML5
查看>>
2018-2019-2 《网络对抗技术》Exp2 后门原理与应用 20165211
查看>>
Python基础
查看>>
Visual studio 替换使用正则表达式 查询http
查看>>
SQL基础知识复习
查看>>