| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1294 人关注过本帖
标题:关于把数据库中的数据导出到Excel的问题?!
只看楼主 加入收藏
zhzh
Rank: 2
等 级:新手上路
威 望:3
帖 子:377
专家分:0
注 册:2006-10-18
收藏
 问题点数:0 回复次数:8 
关于把数据库中的数据导出到Excel的问题?!

我的页面上有一个文本筐和一个按扭我想把文本筐里面保存的路径的导出数据,导到Excel中!但是出现了以下这个错误提示,请教是什么意思啊?

HRESULT 中的异常:0xE004002A。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Runtime.InteropServices.COMException: HRESULT 中的异常:0xE004002A。

我按扭的代码是

private void btn_Export_Click(object sender, System.EventArgs e)
{
Test test=new Test();
DataSet ds=test.GetRecords();

OWC.SpreadsheetClass sheet=new OWC.SpreadsheetClass();
int row=1;
int col=1;

foreach (DataRow dr in ds.Tables[0].Rows)
{
col=1;
foreach(DataColumn dc in ds.Tables[0].Columns)
{
sheet.ActiveSheet.Cells[row,col]=dr[dc].ToString();
col++;
}
row++;
}
     //错误提示在下面这句话!
sheet.ActiveSheet.Export(Server.MapPath(".")+"\\"+this.txt_File.Text,OWC.SheetExportActionEnum.ssExportActionNone);
Response.Redirect(this.txt_File.Text);

}

求教!!学习就是最大的乐趣!先干为敬!!

搜索更多相关主题的帖子: 数据库 Excel 堆栈 FONT HRESULT 
2007-04-12 17:32
zhzh
Rank: 2
等 级:新手上路
威 望:3
帖 子:377
专家分:0
注 册:2006-10-18
收藏
得分:0 

版主救命啊


Tomorrow is another day! my love..................
2007-04-12 21:27
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
EXCEL对象不定义不实例化就用吗?还是在外面已经定义过了

代码不全呀

2007-04-13 09:20
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
你是将这些数据导出到Excel的那个Sheet页里??

飘过~~
2007-04-13 09:37
hit_85
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-4-10
收藏
得分:0 

我有一段代码,不知正确不你试试

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;
using System.Data.SqlClient;
using System.Configuration;
namespace CommonFunction
{
/// <summary>
/// excel 的摘要说明。
/// </summary>
public class excel : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button btnGetExcel;
protected System.Web.UI.WebControls.DataGrid dgExcel;

private void Page_Load(object sender, System.EventArgs e)
{
DataSet objDataset = new DataSet();
SqlConnection objConn = new SqlConnection();
objConn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
objConn.Open();
SqlDataAdapter objAdapter = new SqlDataAdapter("Select top 5 * from customers where country='USA'",objConn);
objAdapter.Fill(objDataset);
DataView oView = new DataView(objDataset.Tables[0]);
dgExcel.DataSource = oView;
dgExcel.DataBind();
objConn.Close();
objConn.Dispose();
objConn = null;
if(Request.QueryString["bExcel"] == "1")
{
Response.ContentType = "application/vnd.ms-excel";

Response.Charset = "";

//关闭 ViewState
EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();//将信息写入字符串
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);//在WEB窗体页上写出一系列连续的HTML特定字符和文本。
//此类提供ASP.NET服务器控件在将HTML内容呈现给客户端时所使用的格式化功能
//获取control的HTML
dgExcel.RenderControl(hw);//将DATAGRID中的内容输出到HtmlTextWriter对象中
// 把HTML写回浏览器
Response.Write(tw.ToString());
Response.End();
}

}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnGetExcel.Click += new System.EventHandler(this.btnGetExcel_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void btnGetExcel_Click(object sender, System.EventArgs e)
{
Response.Redirect("excel.aspx?bExcel=1");
}

}
}

2007-04-13 09:55
zhzh
Rank: 2
等 级:新手上路
威 望:3
帖 子:377
专家分:0
注 册:2006-10-18
收藏
得分:0 

就是当点击按扭后,从数据库中读出的数据以输出到Excel上面!
换了一种方法,实现了!谢谢大家关注!
hit_85的方法也可以,我就是要实现的这个功能.但是hit_85的方法少了一个给输出文件起个文件名的textbox

再次谢谢!

但是第一种方法确实不知道错在哪里了?
难道是缺少Excel的定义?和实例化对象?

Kendy123456版主能否给出具体的写法研究一下!


Tomorrow is another day! my love..................
2007-04-13 11:34
zhzh
Rank: 2
等 级:新手上路
威 望:3
帖 子:377
专家分:0
注 册:2006-10-18
收藏
得分:0 
hit_85的方法输出的汉字变成了乱码!?!

Response.Charset = "GB2312";

也不行?怎么回事啊

Tomorrow is another day! my love..................
2007-04-13 12:03
zhzh
Rank: 2
等 级:新手上路
威 望:3
帖 子:377
专家分:0
注 册:2006-10-18
收藏
得分:0 
hit_85,你好!
能否解释一下为什么读取出来的文字会是乱码

Tomorrow is another day! my love..................
2007-04-13 22:10
zhzh
Rank: 2
等 级:新手上路
威 望:3
帖 子:377
专家分:0
注 册:2006-10-18
收藏
得分:0 

明白了~~呵呵
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");


Tomorrow is another day! my love..................
2007-04-14 10:17
快速回复:关于把数据库中的数据导出到Excel的问题?!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018645 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved