CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

asp.net里将table里面的数据导入到Excel模板里

楼主zhangmeimei(雪薇)2006-03-16 17:49:27 在 .NET技术 / ASP.NET 提问

继续需求帮助,这个问题已经挂了N天了,但是一直没解决~_~  
  这个问题比较复杂  
  在一个页面中有一个复选框:  
  例如:  
                  口     雇用合同书  
                  口     个人资料书  
                  口     个人账号信息  
                  口     上下班工资申请书  
  要求,选择相应的信息(这些都是在table中,格式特别复杂,并且每个table的格式不同),在本页面上打印相应的内容  
  并且要求分页。  
  例如:选择了个人资料和个人账号就要分页打印个人资料和个人账号  
  在Excel中建立一个和Table一样的格式,  
  我想将table里面的数据(及格式)都导入到Excel里面  
  请大家相助呀(要求asp.net(C#))  
  不知道如何实现?  
  问题点数:30、回复次数:9Top

1 楼webwait(webwei)回复于 2006-03-16 18:04:45 得分 20

孟子E章的:  
   
  将DataGrid中得数据导入到Excel,假定aspx中已有一个DataGrid及一个Botton  
   
  以下是.cs文件中主要代码:  
   
  1.绑定DataGrid:  
   
  DataGrid1.DataSource=CreateDataSource();  
  DataGrid1.DataBind();  
  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;  
  }  
   
  2.输出Excel文件,会出现提示下载框  
   
  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();  
  }  
   
  Top

2 楼zhangmeimei(雪薇)回复于 2006-03-17 13:11:18 得分 0

谢谢你的解答,但是我的表格格式特别复杂,不是DataGrid,如果把数据导入到DataGrid然后再格式化,估计不能实现。因为这是没有规律的表。并且还有分页,分页的位置也是固定的,不是随便的。  
  Top

3 楼zhangmeimei(雪薇)回复于 2006-03-17 13:50:38 得分 0

顶一下,估计肯定有人做过,怎么没有回答的?Top

4 楼xieyun9958(ぁ唯有魅影ぁ)回复于 2006-03-17 14:07:07 得分 0

好像孟子E章这样写输出EXCEL的话,如果是中文的话会出现乱码?Top

5 楼zhangmeimei(雪薇)回复于 2006-03-17 14:16:16 得分 0

但是我要求的是:不但数据输出,并且格式也要输出,这种方式好像不行的Top

6 楼bookshop(我是比儿(http://www.crossgo.com))回复于 2006-03-17 14:21:37 得分 5

你这个是web打印,一般可以用webbrowser控件或者另外写插件,我以前做了一个类似的打印,但是没有对各区分页打印出来,我觉得分也你只要在打印按钮点之前对打印内容进行预处理下以达到一页大小,另外采用CSS一些打印控制也有相关资料的Top

7 楼zhangmeimei(雪薇)回复于 2006-03-17 15:31:54 得分 0

谢谢楼上,  
  我现在想的一个方案是:我先建立一个Excel文档,然后分四个工作表,Top

8 楼webwait(webwei)回复于 2006-03-17 16:36:05 得分 5

我用过,中文显示没问题,只是我的表没这么麻烦  
  改动孟子E章的源码应该能实现你的效果Top

9 楼zhangmeimei(雪薇)回复于 2006-03-17 16:56:51 得分 0

上面的这个是能运行  
  但是对于格式的导入以及分页的显示不好调节Top

相关问题

  • 再问用ASP使用EXCEL的模板自动生成EXCEL文件
  • ASP有没有模板
  • 请问如何打开Excel模板呢?
  • 探讨请教asp模板问题
  • 有没有ASP的模板类介绍?
  • ASP模板生成静态页问题
  • excel-->asp
  • asp<-->excel
  • ASP & EXCEL
  • 请问:有没有开源的asp模板类;比如动网的模板类

关键词

  • asp.net
  • 数据
  • 账号
  • excel
  • datagrid
  • 资料
  • 格式
  • 口
  • typeof
  • dt

得分解答快速导航

  • 帖主:zhangmeimei
  • webwait
  • bookshop
  • webwait

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo