顶者有分~~!!!导出数据到Excel总是出错。数据量超过三万条,一次性导出到Excel.使用C#语言写
显示在页面上的信息:您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。
代码:db.RunProc( "sp_downDataList ",prams,out dr);
grdexcel.DataSource = dr;
grdexcel.DataBind();
Button1.Enabled=false;
Response.Clear();
Response.Buffer= true;
Response.Charset= "gb2312 ";
Response.AppendHeader( "Content-Disposition ", "attachment;filename=sheet "+DateTime.Now.ToString( "yyyyMMddss ")+ ".xls ");
Response.ContentEncoding = System.Text.Encoding.UTF8;
//Response.ContentEncoding=System.Text.Encoding.GetEncoding( "gb2312 ");
Response.ContentType = "application/ms-excel ";
this.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
grdexcel.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
------解决方案--------------------不熟悉,UP一下
------解决方案--------------------不大赞同你的思路,我之前一般采用在服务器端生成.csv文件方式导出数据。
.csv是Excel可以直接读取的文件格式。多个字段以逗号分隔。写完之后使用Redirect语句即可。
使用StringBuilder可以提高性能。
------解决方案--------------------孟老大的:
http://dotnet.aspx.cc/article/8a4cbf47-b888-4832-3389-ed3a3a3c8aab/read.aspx
------解决方案--------------------up了,最近要做sharepoint,估计和excel少不了关系。mark
------解决方案--------------------读取到dataset`` 应该和 reader 差不多`
private DataSet InstrumentExcelToDataSet(string Path)
{
try
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source= " + Path + "; " + "Extended Properties= 'Excel 8.0;IMEX=1 ' ";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
OleDbDataAdapter myCommand = null;
DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
string tableName = schemaTable.Rows[0][2].ToString().Trim();
string strExcel = "SELECT 电话号码 FROM [ " + tableName + "] ";
myCommand = new OleDbDataAdapter(strExcel, strConn);
dsExcel = new DataSet();
myCommand.Fill(dsExcel, "table1 ");
conn.Close();
}
catch (OleDbException ole)
{
throw ole;
}
catch (SystemException se)
{
}
return dsExcel;
}
------解决方案--------------------3W条数据的excel?晕我的机子肯定打不开...
------解决方案--------------------我晕,用多线程处理啊
------解决方案--------------------3W条数据小意思..不回打不开的..楼上2层的兄弟太小巧microsoft了
楼主的思路不对,应该使用OWC编程的..
我处理过类似的问题.数据量有10几万...
------解决方案--------------------帮顶一下!
------解决方案--------------------