CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

在网页里可以把DataGrid里的数据转到Excel里面吗?

楼主weilt(开往春天的地铁)2003-12-02 16:46:43 在 .NET技术 / C# 提问

如题:如果可以,又怎么转呢?谢谢先 问题点数:20、回复次数:10Top

1 楼flers(思源)回复于 2003-12-02 17:07:12 得分 5

'导出数据  
          Private   Sub   btn_out_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   btn_out.Click  
                  '导出EXCEL  
                  If   DataGrid1.Items.Count   >   0   Then  
                          HttpContext.Current.Response.AppendHeader("Content-Disposition",   "attachment;filename=OutDate.xls")  
                          Response.ContentType   =   "application/vnd.ms-excel"  
                          HttpContext.Current.Response.Charset   =   ""  
                          HttpContext.Current.Response.ContentEncoding   =   System.Text.Encoding.UTF8  
                          Me.EnableViewState   =   False  
                          Dim   tw   As   System.IO.StringWriter   =   New   System.IO.StringWriter()  
                          Dim   hw   As   System.Web.UI.HtmlTextWriter   =   New   System.Web.UI.HtmlTextWriter(tw)  
                          DataGrid1.RenderControl(hw)  
                          HttpContext.Current.Response.Write(tw.ToString())  
                          HttpContext.Current.Response.End()  
                  Else  
                          Response.Write("<script>alert('没有统计出任何数据!')</"   &   "script>")  
                  End   If  
                  Me.EnableViewState   =   True  
          End   SubTop

2 楼dahuzizyd(你就是我心中的女神)回复于 2003-12-02 18:54:00 得分 5

这个是孟老大的:  
  http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=BF0A54F9-C7C7-4200-BD9A-802AC1F5DE50Top

3 楼weilt(开往春天的地铁)回复于 2003-12-03 09:34:47 得分 0

第一种方法已试过,会把所有网页里面的东西全部转到EXCEL里面,包括那你按纽!Top

4 楼witzgf2(java殉道者)回复于 2003-12-03 10:20:30 得分 5

注意   DataGrid1.RenderControl(hw)Top

5 楼fqcd555(love violet)回复于 2003-12-03 10:33:36 得分 0

楼上的都是用VB.NET,能用C#吗?Top

6 楼weilt(开往春天的地铁)回复于 2003-12-03 11:08:44 得分 0

DataGrid1.RenderControl(hw)  
  就是这一句有错,但是用try,catch过去了  
  第二种方法里的DataGrid直转时有错:  
   
  拒绝访问。    
  说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。    
   
  异常详细信息:   System.UnauthorizedAccessException:   拒绝访问。    
   
  ASP.NET   未被授权访问所请求的资源。请考虑授予   ASP.NET   请求标识访问此资源的权限。ASP.NET   有一个在应用程序没有模拟时使用的基进程标识(通常,在   IIS   5   上为   {MACHINE}\ASPNET,在   IIS   6   上为网络服务)。如果应用程序正在通过   <identity   impersonate="true"/>   模拟,则标识将为匿名用户(通常为   IUSR_MACHINENAME)或经过身份验证的请求用户。    
   
  若要授予   ASP.NET   对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示   ASP.NET   帐户,选中所需访问权限对应的框。  
   
  但是没有"安全选项“卡呀  
  Top

7 楼weilt(开往春天的地铁)回复于 2003-12-04 09:27:16 得分 0

OWC.SpreadsheetClass   xlsheet=new   OWC.SpreadsheetClass();  
  为什么这句话都通不过呢,报上面的错误Top

8 楼weilt(开往春天的地铁)回复于 2003-12-05 13:59:11 得分 0

我现中知道是怎么一回事了,但是要不转成Office   XP的呢,他有三参数,  
  xlsheet.Export(string   FileName,OWC10.SheetExportActionEnmu   Action,   OWC10.SheetExportFormatEnmu   Format);  
  我不知道这第三个参数要怎么样写才对呢?Top

9 楼MuTongB(牧童)回复于 2003-12-05 14:08:04 得分 5

还有一个比较简单的方法就是用剪贴板,在脚本里面调用window得剪贴板,把你要转换的数据的表单内容以html格式放到剪贴板上,然后用脚本启动excel然后创建一个工作表,调用excel里的粘贴方法就可以了。  
  Top

10 楼weilt(开往春天的地铁)回复于 2003-12-05 17:10:03 得分 0

private   void   Button1_Click(object   sender,   System.EventArgs   e)  
      {  
              string   SQL,error;  
        OWC10.SpreadsheetClass   xlsheet=new   OWC10.SpreadsheetClass();  
        Meeting.Service1   srv=new   Meeting.Service1();  
        DataSet   ds=new   DataSet();  
        int   i,j;  
        SQL="Select   *   from   Tb_User";  
        ds=srv.Query(SQL);  
        DataView   source=new   DataView(ds.Tables["Query"]);  
        i=source.Table.Columns.Count;  
        for(i=0;i<ds.Tables["Query"].Rows.Count;i++)  
          for(j=0;j<ds.Tables["Query"].Columns.Count;j++)            
          {  
            xlsheet.ActiveSheet.Cells[i+1,j+1]=ds.Tables["Query"].Rows[i][j].ToString();  
          }  
        try  
        {        
          xlsheet.Application.Export("Export.xls"   ,OWC10.SheetExportActionEnum.ssExportActionNone,OWC10.SheetExportFormat.ssExportXMLSpreadsheet);  
        }  
        catch(System.Runtime.InteropServices.COMException     E1)  
        {  
          error=E1.Message;  
        }  
        ds.Tables["Query"].Reset();  
        ds.Reset();  
        ds.Dispose();  
        srv.Dispose();  
      }  
    }  
   
    在执行最后一句会出错,try  
        {        
          xlsheet.Application.Export("Export.xls"   ,OWC10.SheetExportActionEnum.ssExportActionNone,OWC10.SheetExportFormat.ssExportXMLSpreadsheet);  
        }  
   
  得到的错误信息为       "HRESULT   中的异常:0xE004002A。"  
  请问应该怎么解决呢?  
  Top

相关问题

  • datagrid数据导入excel
  • 在线求教!!!网页上操作Excel数据导入SQL表
  • 从网页中的DataGrid中读取数据的问题!
  • 网页*数据库
  • DATAGRID“显示”的数据导出到EXCEL
  • VB将datagrid数据导入excel
  • DataGrid数据导不到Excel里!!!!
  • datagrid的数据怎么导入excel?
  • DataGrid数据导到Excel里的问题!!!!
  • datagrid数据导入到excel的问题

关键词

  • asp.net
  • 数据
  • excel
  • datagrid
  • 用户
  • ds
  • asp
  • sql
  • owc10
  • spreadsheetclass

得分解答快速导航

  • 帖主:weilt
  • flers
  • dahuzizyd
  • witzgf2
  • MuTongB

相关链接

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

广告也精彩

反馈

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