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; ...
随机推荐
- python学习笔记_week15
note 上节作业问题: 1.css重用 <style> 如果整个页面的宽度 > 900px时: { .c{ 共有 } .c1{ 独有 } } .c2{ 独有 } </styl ...
- Mybatis学习——resultMap使用
在实体和数据库字段一致 时直接使用resultType时可以的. 当字段不一致时,可以使用别名.使之一致. 以下讲解使用resultMap情况. 实体Order.java package pojo; ...
- ASPxCallback组件(珍藏版)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs ...
- [转]使用Ubuntu Live CD修复Grub引导教程
这个教程的方法我用过了,能够解决了我的问题. 这篇文章主要介绍了使用Ubuntu Live CD修复Grub引导教程,本文以 Ubuntu Live CD 修复 Grub 引导为例,需要的朋友可以参考 ...
- 深度学习原理与框架-Tensorflow基本操作-实现线性拟合
代码:使用tensorflow进行数据点的线性拟合操作 第一步:使用np.random.normal生成正态分布的数据 第二步:将数据分为X_data 和 y_data 第三步:对参数W和b, 使用t ...
- rtmp推流开源代码备注一下
https://github.com/runner365/AnyRTC-RTMP https://github.com/runner365
- gevent mysql
使用gevent实现mysql并发时,每个greenlet应该独享一个mysql连接,否则,不同的greenlet之间会相互影响. ultramysql doesn't allow you to ma ...
- css:长度距离的一个计算函数calc
.calc-example{ width: calc(100% - 100px);} 可用于宽度,高度,margin,padding等长度或距离的计算 减号两边必须留一个空格
- Servlet基本_セッション属性
1.概念セッション: ユーザーごとの状態を保存する仕組みです.セッションID: アプリケーションサーバから一意の識別子が割り当てられ.これをセッションIDと言う. 2.サーブレットAPIサーブレットA ...
- Extjs实现Grid表格显示【一】
Ext.onReady(function(){ // Ext.Msg.alert("提示","hello world!! "); var stu =new Ex ...