asp.net 将数据导成Excel文件
思路:和word红头文件一样,采用xml格式的模板文件,再替换模板中设置好的标签就可以了.
参考网址:http://www.cnblogs.com/tzy080112/p/3413938.html
public partial class ImportExcel : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } protected void btnImport_Click(object sender, EventArgs e)
{
byte[] bytes = GetData(Server.MapPath(@"ExcelTemplate\TpExcel.xml"), ""); //实现下载
Response.AddHeader("Content-Type", "application/octet-stream");
Response.Buffer = true;
Response.ContentType = "*/*";
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("导出的文件.xls", System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", bytes.Length.ToString());
Response.BinaryWrite(bytes);
Response.End(); } public List<MyUser> LoadUser()
{
List<MyUser> li = new List<MyUser>();
MyUser u1 = new MyUser();
u1.Name = "snow";
u1.StaffNo = "1234";
MyUser u2 = new MyUser();
u2.Name = "张山";
u2.StaffNo = "200000";
li.Add(u1);
li.Add(u2);
return li;
} public byte[] GetData(string path, string tempName)
{
//实例化内存流
MemoryStream fileStream = new MemoryStream();
//写文件流
StreamWriter fileWriter = new StreamWriter(fileStream);
//读文件流
StreamReader fileReader = new StreamReader(path, System.Text.Encoding.UTF8);
//读取整个文件的内容
string tempStr = fileReader.ReadToEnd();
//得到要导出的信息
//DataTable dt = airport.GetDataView();
List<MyUser> li = this.LoadUser(); //定义变量获取表的数据行数
int rows = 0;
//定义StringBuilder变量来存储字符串
StringBuilder sb = new StringBuilder();
//判断表是否有数据 if (li.Count > 0)
{
//给变量赋值
rows = li.Count;
int num = rows + 1;//此处1表示模板中表头的行数,且默认为1,可自行增加表头并定义
if (tempStr.IndexOf("+#RowCount#+") > 0)
{
tempStr = tempStr.Replace("+#RowCount#+", "" + num + "");
}
//开始循环生成标准字符串
for (int i = 0; i < rows; i++)
{
sb.Append("<Row>\n"
+ "<Cell><Data ss:Type=\"String\">" + li[i].Name + "</Data></Cell>\n"
+ "<Cell><Data ss:Type=\"String\">" + li[i].StaffNo + "</Data></Cell>\n"
+ "</Row>\n");
}
if (tempStr.IndexOf("+#TableData#+") > 0)
{
tempStr = tempStr.Replace("+#TableData#+", sb.ToString());
}
}
fileWriter.WriteLine(tempStr);
fileWriter.Flush(); byte[] bytes = fileStream.ToArray(); fileStream.Close();
fileWriter.Close();
fileReader.Close(); return bytes;
}
} public class MyUser
{
public string Name
{
get;
set;
} public string StaffNo
{
get;
set;
}
}
asp.net 将数据导成Excel文件的更多相关文章
- sqlserver将数据库的数据导成excel文档方法
sqlserver将数据库的数据导成excel文档方法 最近公司需要下载uniport的数据跟之前的数据进行对比,所以避免不了需要将数据库的数据导出来,把SQLServer表中的数据导出为Excel文 ...
- Pl/sql 如何将oracle的表数据导出成excel文件?
oracle将表数据导出成excel文件的方法 1)在SQL窗体上,查询需要导出的数据 --查询数据条件-- ; 结果视图 2)在查询结果的空白处,右键选择Copy to Excel 3) 查看导出e ...
- mysql中数据导出成excel文件语句
代码如下 复制代码 mysql>select * from xi_table into outfile ’d:test.xls’; 导出为txt文件: 代码如下 复制代码 select * f ...
- Asp.Net MVC 实现将Easy-UI展示数据下载为Excel 文件
在一个项目中,需要做一个将Easy-UI界面展示数据下载为Excel文件的功能,经过一段时间努力,完成了一个小Demo.界面如下: 但按下导出Excel后,Excel文件将会下载到本地,在office ...
- 用node.js写一个简单爬虫,并将数据导出为 excel 文件
引子 最近折腾node,最开始像无头苍蝇一样到处找资料,然而多数没什么卵用,都在瞎比比.在一阵瞎搞后,我来分享一下初步学习node的三个过程: 1 撸一遍NODE入门,对其有个基本的了解: 2 撸一遍 ...
- 【Java/JDBC】借助ResultSetMetaData,从数据库表中抽取字段信息存成Excel文件
本例工程下载:https://files.cnblogs.com/files/xiandedanteng/FindNotnullColumns20191102-3.rar 工作中曾有个为42张表建立测 ...
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】) 转
效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中[附源代码下载]) 本文目录: (一)背景 (二)数据库数据导入到Excel的方法比较 ...
- 使用宏批量将多个csv文件转成excel文件
在一个压缩文件中有100多个csv文件,要求要将此100多个csv文件转成excel文件,名字命名不变,有三种方式: 1. 傻不拉几的复制粘贴法 2. 一个一个打开csv文件,另存为xls文件,工作量 ...
- 数据导出至Excel文件--好库编程网http://code1.okbase.net/codefile/SerializeHelper.cs_2012122018724_118.htm
using System; using System.IO; using System.Data; using System.Collections; using System.Data.OleDb; ...
随机推荐
- Java命令运行.class文件
class使用全名(点号间隔):java headfirst.designpatterns.proxy.gumball.GumballMonitorTestDrive
- eclipse添加缺失的包/src/main/resource
右键>>build path>>source 添加文件夹
- python pyqt面板切换
- 重识linux-linux的账号与用户组
重识linux-linux的账号与用户组 1 账号 每个登录linux系统的用户都有 uid和gid uid就是用户ID,gid就是组ID 在系统上存账号信息的文件是 /etc/passwd 存密码相 ...
- 《算法》第五章部分程序 part 2
▶ 书中第五章部分程序,包括在加上自己补充的代码,字符串高位优先排序(计数 + 插排),(原地排序),(三路快排,与前面的三路归并排序相同) ● 计数 + 插排 package package01; ...
- 【3-28】javascript简介及语法
一.简介 (一)定义:JavaScript是一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型,需有宿主文件:html文件. (二)作用:1.进行数据运算 2.对浏览器事件作出响 ...
- ansible常用模块即用法
Linux 中,我们可以通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc -s 模块名 又可以查看该模块有哪些参数可以使用. 下面 ...
- ISO7816之管脚定义
卡座的管脚定义 如果使用示波器或者逻辑分析仪来观察 连接C3.C5.C7 小技巧当C3为3.57MHZ时候,可以使用波特率为9600的串口来监听.
- 关于 Level 和 Promotion,其实就那么简单
曾经有读者和朋友问我:一般硅谷工作了三四年以后,会是什么 level?找工作会拿到什么 package?拿到这个问题之后,我想了想,还是没有回答.其实三四年的时间,对于曾经在同一个起点的两个人,因为际 ...
- day38-常见第三方模块
1.requests模块 2.psutil模块 3.xlrd模块 4.xlwt模块 5.Paramiko模块