查看例子
outputexcel.aspx
<%@ page language="c#" codebehind="outputexcel.aspx.cs"
autoeventwireup="false" inherits="emeng.exam.outputexcel" %>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en" >
<html>
<head>
<title>outputexcel</title>
</head>
<body>
<form id="form1" method="post" runat="server">
<asp:datagrid id="datagrid1" runat="server"></asp:datagrid>
<asp:button id="button1" runat="server" text="输出到excel"></asp:button>
</form>
</body>
</html>
outputexcel.aspx.cs
using system;
using system.collections;
using system.componentmodel;
using system.data;
using system.drawing;
using system.web;
using system.web.sessionstate;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.htmlcontrols;
namespace emeng.exam
{
/// <summary>
/// outputexcel 的摘要说明。
/// </summary>
public class outputexcel : system.web.ui.page
{
protected system.web.ui.webcontrols.button button1;
protected system.web.ui.webcontrols.datagrid datagrid1;
private void page_load(object sender, system.eventargs e)
{
// 在此处放置用户代码以初始化页面
datagrid1.datasource=createdatasource();
datagrid1.databind();
}
/// <summary>
/// 创建数据源
/// </summary>
/// <returns>dataview</returns>
icollection createdatasource()
{
datatable dt = new datatable();
datarow dr;
dt.columns.add(new datacolumn("身份证号码", typeof(string)));
dt.columns.add(new datacolumn("图书单价",typeof(decimal)));
dt.columns.add(new datacolumn("购买数量",typeof(int32)));
dt.columns.add(new datacolumn("总价格",typeof(decimal)));
for (int i = 0; i < 30; i++)
{
dr = dt.newrow();
dr[0] = "123456789123456789";
dr[1] = 100 * i /3.0;
dr[2] = i + 5;
dr[3] = (decimal)dr[1] * (int32)dr[2];
dt.rows.add(dr);
}
dataview dv = new dataview(dt);
return dv;
}
/// <summary>
/// 输出到excel
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_click(object sender, system.eventargs e)
{
response.clear();
response.buffer= true;
response.charset="gb2312";
response.appendheader("content-disposition","attachment;filename=filename.xls");
response.contentencoding=system.text.encoding.getencoding("gb2312");//设置输出流为简体中文
response.contenttype = "application/ms-excel";//设置输出文件类型为excel文件。
this.enableviewstate = false;
system.globalization.cultureinfo mycitrad = new system.globalization.cultureinfo("zh-cn",true);
system.io.stringwriter ostringwriter = new system.io.stringwriter(mycitrad);
system.web.ui.htmltextwriter ohtmltextwriter = new system.web.ui.htmltextwriter(ostringwriter);
this.datagrid1.rendercontrol(ohtmltextwriter);
response.write(ostringwriter.tostring());
response.end();
}
#region web 窗体设计器生成的代码
override protected void oninit(eventargs e)
{
//
// codegen: 该调用是 asp.net web 窗体设计器所必需的。
//
initializecomponent();
base.oninit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void initializecomponent()
{
this.button1.click += new system.eventhandler(this.button1_click);
this.datagrid1.itemdatabound += new system.web.ui.webcontrols.datagriditemeventhandler(this.datagrid1_itemdatabound);
this.load += new system.eventhandler(this.page_load);
}
#endregion
private void datagrid1_itemdatabound(object sender, system.web.ui.webcontrols.datagriditemeventargs e)
{
if(e.item.itemtype == listitemtype.item || e.item.itemtype == listitemtype.alternatingitem)
{
e.item.cells[0].attributes.add("style","vnd.ms-excel.numberformat:@");
e.item.cells[3].attributes.add("style","vnd.ms-excel.numberformat:¥#,###.00");
}
}
}
}
文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




