导出EXCEL
来源:互联网 发布:南京网络教育 编辑:程序博客网 时间:2024/06/05 03:24
二、绑定服务器控件
protected void Button2_Click(object sender, System.EventArgs e)
{
//定义文档类型、字符编码
Response.Clear();
Response.Buffer = true;
Response.Charset = "UTF-8";
Response.AppendHeader("Content-Disposition", "attachment;filename=ReportProfit.xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Response.ContentType = "application/ms-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.gridview.RenderControl(oHtmlTextWriter);
//this 表示输出本页,你也可以绑定datagrid,或其他支持obj.RenderControl()属性的控件
Response.Write(oStringWriter.ToString());
Response.End();
}
二、输出页面上的html中的table
function MoneyDebtForHostsQuery() {
$("#hostcontent").html("loading");
var url1 = "MoneyDebtForHosts.aspx";
var data1 = "action=query&i_salername=" + escape($("#qSaler").val());
//alert(data1);return;
$.ajax({ url: url1, data: data1, type: "post", cache: false, error: function (XMLHttpRequest, textStatus) { alert(XMLHttpRequest.status + " " + textStatus); },
success: function (msg) {
msg = eval(msg);
if (msg.Message != "OK") {
alert(msg.Message);
} else {
var rs = msg.Records;
var str = [];
if (rs.length > 0) {
var options = "<option value=' '>全部</option>";
var trs = ['<table id="contentTable" border=0 cellspacing=1 cellspadding=0 ><tr id="head"><td id="rUSERID">商家ID</td><td id="rNICKNAME" >商家昵称</td><td id="rINALL" >税前总收入</td><td id="rTAX" >税率</td><td id="rPAYSUM0" >总到帐金额</td><td id="rPROFIT" >税后利润</td><td id="rPAYSUM0THISYEAR" >今年总到帐金额</td><td id="rPROFITTHISYEAR" >今年税后利润</td> <td id="rBAL" >商家余额</td><td id="rPAYSUM1" >预加金额</td> <td id="rSALERNAME" >市场人员</td><td>操作</td></tr>'];
for (var i = 0; i < rs.length; i++) {
var t = rs[i];
trs.push('<tr>');
trs.push('<td style="height:20px;">' + t.USERID + '</td>');
trs.push('<td>' + t.NICKNAME + '</td>');
trs.push('<td>' + t.INALL + '</td>');
trs.push('<td>' + t.TAX + '</td>');
trs.push('<td>' + t.PAYSUM0 + '</td>');
trs.push('<td>' + t.PROFIT + '</td>');
var tthisy = parseFloat(t.PAYSUM0THISYEAR);
tthisy = tthisy<0?0:tthisy;
trs.push('<td>' + tthisy + '</td>');
trs.push('<td>' + t.PROFITTHISYEAR + '</td>');
trs.push('<td>' + t.BAL + '</td>');
trs.push('<td>' + t.PAYSUM1 + '</td>');
trs.push('<td>' + t.SALERNAME + '</td>');
trs.push('<td><a href="MoneyDebtForArrs.aspx?Hostid='+t.HOSTID+'&Userid='+t.USERID+'" target="mainFrame" class="link3">查看</a></td>');
trs.push('</tr>');
if (t.SALERNAME != "" && options.indexOf(">" + t.SALERNAME + "<") == -1)
options += "<option value='" + t.SALERNAME + "'>" + t.SALERNAME + "</option>";
};
trs.push('</table>');
$("#hostcontent").html(trs.join("")) ;
$("#TextBox1").val(escape(trs.join("").replace("<td>操作</td>","").replace(/\<a[^\^]*?\<\/a\>/g,""))) ;
if (!salerInputAdded) {
$("#qSaler").html(options);
salerInputAdded = true;
}
} else {
}
}
}
});
}
<asp:TextBox ID="TextBox1" runat="server" style="display:none"></asp:TextBox>
思路:将前台输出的table赋值给隐藏的服务器控件TextBox ,后台取TextBox值,进行输出
private void Excel(string s)//s即为前台的table表
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "UTF-8";
Response.AppendHeader("Content-Disposition", "attachment;filename=ReportDebt.xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Response.ContentType = "application/ms-excel";
this.EnableViewState = false;
Response.Write(s);
Response.End();
}
三、输出固定格式的字符串
public void TaobaoDataExcel()
{
string i_date1 = Common.Request("qClientGetTimeBegin", "1900-1-1");
string i_date2 = Common.Request("qClientGetTimeEnd", "1900-1-1");
string i_placeid = Common.Request("qPLACEID", "-1");
string i_shopname = Common.Request("qShopname", " ");
string i_websitename = Common.Request("qWebsitename", " ");
string i_webuserid = Common.Request("qWebuserid", " ");
string i_pageIndex = Common.Request("i_pageIndex", "0");
string i_pageSize = Common.Request("i_pageSize", "30");
i_placeid = i_placeid == "" ? "-1" : i_placeid;
OracleParameter p1 = new OracleParameter("i_date1", i_date1);
OracleParameter p2 = new OracleParameter("i_date2", i_date2);
OracleParameter p3 = new OracleParameter("i_placeid", i_placeid);
OracleParameter p8 = new OracleParameter("i_shopname", i_shopname);
OracleParameter p6 = new OracleParameter("i_websitename", i_websitename);
OracleParameter p7 = new OracleParameter("i_webuserid", i_webuserid);
OracleParameter p4 = new OracleParameter("i_pageIndex", i_pageIndex);
OracleParameter p5 = new OracleParameter("i_pageSize", i_pageSize);
OracleParameter[] paramList = new OracleParameter[] { p1, p2, p3, p8, p6, p7, p4, p5 };
DataTable dt = DataOperator.GetDataWithCountAndCursorDT("MG_Report.TaobaoData", paramList);
if (dt.Rows.Count > 60000)
{
Response.Write("数据超过6万,请增加删选条件");
Response.End();
}
else
{
string s = "交易号\t商品标题\t店铺名称\t成交时间\t成交数量\t成交价格\t实际支付\t佣金比率\t佣金\t广告位\t网站\t会员\n";
foreach (DataRow row in dt.Rows)
{
s += row["trade_id"].ToString() + "\t";
s += row["item_title"].ToString() + "\t";
s += row["shop_title"].ToString() + "\t";
s += row["pay_time"].ToString() + "\t";
s += row["item_num"].ToString() + "\t";
s += row["pay_price"].ToString() + "\t";
s += row["real_pay_fee"].ToString() + "\t";
s += row["commission_rate"].ToString() + "\t";
s += row["commission"].ToString() + "\t";
s += row["outer_code"].ToString() + "\t";
s += row["websitename"].ToString() + "\t";
s += row["webuserid"].ToString() + "\t";
s += "\n";
}
Response.Clear();
Response.Buffer = true;
Response.Charset = "UTF-8";
Response.AppendHeader("Content-Disposition", "attachment;filename=TaobaoData.xls");
Response.ContentEncoding = System.Text.Encoding.Default;
Response.ContentType = "application/ms-excel";
this.EnableViewState = false;
Response.Write(s);
Response.End();
}
}
四、输出table数据流
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="m_DataSet"></param>
/// <param name="fileName"></param>
public void CreateExcel(DataSet m_DataSet, string fileName)
{
string strLine;
FileStream objFileStream;
StreamWriter objStreamWriter;
Random nRandom = new Random(DateTime.Now.Millisecond);
objFileStream = new FileStream(Server.MapPath(fileName), FileMode.OpenOrCreate, FileAccess.Write);
objStreamWriter = new StreamWriter(objFileStream, System.Text.Encoding.Unicode);
if (m_DataSet != null)
{
if (m_DataSet.Tables.Count > 0)
{
strLine = "";
for (int i = 0; i <= m_DataSet.Tables[0].Columns.Count - 1; i++)
{
strLine = strLine + m_DataSet.Tables[0].Columns[i].ToString() + Convert.ToChar(9);
}
objStreamWriter.WriteLine(strLine);
strLine = "";
for (int j = 0; j <= m_DataSet.Tables[0].Rows.Count - 1; j++)
{
for (int i = 0; i <= m_DataSet.Tables[0].Columns.Count - 1; i++)
{
strLine = strLine + m_DataSet.Tables[0].Rows[j][i].ToString() + Convert.ToChar(9);
}
objStreamWriter.WriteLine(strLine);
strLine = "";
}
objStreamWriter.Close();
objFileStream.Close();
}
}
}
- 导出EXCEL
- Excel导出
- 导出Excel
- 导出EXCEL
- 导出Excel
- EXCEL导出
- 导出Excel
- 导出excel
- 导出excel
- EXCEL导出
- 导出excel
- 导出Excel
- Excel导出。
- 导出excel
- Excel 导出
- 导出excel
- 导出excel
- 导出excel
- 设计模式之享元模式
- PayPal外贸生意经--外贸零售之节日经济
- phpMyadmin 导入 出现“无法读取文件” 错误,解决办法
- shell 总结之 select表达式和for 循环
- hdu 4300 Clairewd’s message 扩展kmp
- 导出EXCEL
- 编码知识学习笔记之一
- windows 2003、2008关机或重启时的理由选择提示去掉
- nginx安装(Windows)入门实例简介
- 编码知识学习笔记之二
- easyUI ProgressBar
- 利用MEDIAPLAYER制作ANDROID播放器 .
- 编码知识学习笔记之三
- C#解析XML文件