asp.Net数据导出问题 急急急

菠萝帅帅的 2011-01-09 11:32:06
因为数据量比较大 我已经超出了excle的上限 怎么才能导出到几个excle文件呢?谢谢大家了
我的代码是这样写的 但是没有循环呀
//待判断数据是否没有超出excle的上限65535
StringWriter sw = new StringWriter();
sw.WriteLine("订单号" + "\t" + "终端号" + "\t" + "状态" + "\t" + "电话" + "\t" + "价格" + "\t" + "成本" + "\t" + "创建时间");
int Tick = TANUM.Rows.Count / 65535;

for (int i = 0; i <= Tick; i++)
{

DataTable dt = TongLu.DatasInfo.DataLayer.DBHelper.CashPhone_OrderForm.Select(this.Key, EndNum * i + 1, EndNum * (i + 1));
foreach (DataRow dr in dt.Rows)
{
string Status = (int)dr["Status"] == 2 ? "成功" : (int)dr["Status"] == 1 ? "部分成功" : (int)dr["Status"] == 4 ? "失败" : "发货中";
sw.WriteLine(dr["FormCode"] + "\t" + dr["ClientID"] + "\t" + Status + "\t" + dr["Phone"] + "\t" + dr["Price"] + "\t" + dr["Cost"] + "\t" + dr["CreateTime"]);

}
sw.Close();
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.AddHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("Data", System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/ms-excel";
Response.Output.Write(sw.ToString());
Response.End();


}
...全文
86 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
菠萝帅帅的 2011-01-09
  • 打赏
  • 举报
回复
大侠呀 我是真的看不明白 才毕业没有接触到这个 能不能在给我说说 是个什么思路呀 我返回的是一个datatable 数据太多了 怎么把他一次全部导出呢 在不同的sheet里面也行
wuyq11 2011-01-09
  • 打赏
  • 举报
回复
导出多个sheet文件
根据数据集部门添加多sheet
Excel.Application app = new Excel.ApplicationClass();
app.Visible = true;
Excel.Workbook workBook = app.Workbooks.Open(templetFile,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing);
Excel.Worksheet workSheet = (Excel.Worksheet)workBook.Sheets.get_Item(1);
for(int i=1;i <sheetCount;i++)
{
((Excel.Worksheet)workBook.Worksheets.get_Item(i)).Copy(missing,workBook.Worksheets[i]);

}


Response.ClearContent();
Response.BufferOutput = true;
Response.Charset = "utf-8";
Response.ContentType = "text/xml";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename="+Server.UrlEncode(filename)+".xls");
Response.Write(@"\r\n<Workbook xmlns='urn:schemas-microsoft-com:office:spreadsheet'
xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel'
xmlns:ss='urn:schemas-microsoft-com:office:spreadsheet' xmlns:html='http://www.w3.org/TR/REC-html40'>");
Response.Write(@"\r\n<DocumentProperties xmlns='urn:schemas-microsoft-com:office:office'>");
菠萝帅帅的 2011-01-09
  • 打赏
  • 举报
回复
大概是什么思路呢 还是不太明白
啊兵 2011-01-09
  • 打赏
  • 举报
回复
直接说吧!导出到多个excel的多个sheet中。有什么难的?
龍过鸡年 2011-01-09
  • 打赏
  • 举报
回复
导出成 csv 嘛,看你的格式也是 csv的格式撒

或者在点击下载时判断行数,然后传递参数,比如起始行-结束行,开几个下载页面

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧