数据导出excel 无反应

illoveyou 2012-08-10 03:52:30
在导出时,点击导出按钮刷新一下,不导出,无反应,咋回事,请教各位大侠,源码如下:


//建立Excel对象
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];
excel.Visible = isShowExcle;
Microsoft.Office.Interop.Excel.Range range;

//生成字段名称
for (int c = 0; c < columnNumber; c++)
{
if (c != 11 && c != 12)
{
colIndex++;
excel.Cells[1, colIndex] = gvData.Columns[c].HeaderText;
}
}

object[,] objData = new object[rowNumber, 13];

for (int r = 0; r < rowNumber; r++)
{
//for (int c = 0; c < columnNumber; c++)
//{
objData[r, 0] = (gvData.Rows[r].FindControl("Label_xh") as Label).Text;
objData[r, 1] = (gvData.Rows[r].FindControl("Label1") as Label).Text;
objData[r, 2] = (gvData.Rows[r].FindControl("Label2") as Label).Text;
objData[r, 3] = (gvData.Rows[r].FindControl("Label3") as Label).Text;
objData[r, 4] = (gvData.Rows[r].FindControl("Label4") as Label).Text;
objData[r, 5] = (gvData.Rows[r].FindControl("Label5") as Label).Text;
objData[r, 6] = (gvData.Rows[r].FindControl("Label6") as Label).Text;
objData[r, 7] = (gvData.Rows[r].FindControl("Label7") as Label).Text;
objData[r, 8] = (gvData.Rows[r].FindControl("Label8") as Label).Text;
objData[r, 9] = gvData.Rows[r].Cells[9].Text;
objData[r, 10] = (gvData.Rows[r].FindControl("Label9") as Label).Text;
objData[r, 11] = "";
objData[r, 12] = "";
//}
}

// 写入Excel
range = worksheet.get_Range(excel.Cells[2, 1], excel.Cells[rowNumber + 1, 13]);
//range.NumberFormat = "@";//设置单元格为文本格式
range.Value2 = objData;
return true;
...全文
1154 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
net5354 2012-08-13
  • 打赏
  • 举报
回复
首先导出到服务器上的EXCEL模板上,再链接该模板文件,就可以下载了
jdc71264 2012-08-13
  • 打赏
  • 举报
回复
其实NPOI用起来会更舒服一点。。。有时间了研究下吧
jdc71264 2012-08-13
  • 打赏
  • 举报
回复
从别处给你摘了点例子,看样子你也是gridview导出

private void Export(string FileType, string FileName)
{
Response.Clear();
Response.Charset = "Big5";
string s = HttpUtility.UrlEncode(System.Text.UTF8Encoding.UTF8.GetBytes(FileName));
Response.AppendHeader("Content-Disposition", "attachment;filename="+s);
Response.AddHeader("Content-type", "application/x-msdownload");
Response.ContentType = "application/octet-stream";
System.IO.StringWriter stringwrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringwrite);
GridView1.AllowPaging = false;
this.DataBinds();
GridView1.RenderControl(htmlWrite);
Response.Write(stringwrite.ToString());
Response.End();
GridView1.AllowPaging = true;
this.DataBinds();

}


然后到处按钮里面调用这个方法

Export("ms-excel","產品.xls");
illoveyou 2012-08-13
  • 打赏
  • 举报
回复
碰见高手了,谢谢
现在代码能导出,不过只能在服务器上导出(即导出仅能在服务器端看到),真样导出在客户端呢?很急,客户催的紧?
E次奥 2012-08-10
  • 打赏
  • 举报
回复
弄个断点,单步一下。

看看到底从导入开始到导出之间都发生了什么事。

学会单步,多数问题都会迎刃而解的!
孟子E章 2012-08-10
  • 打赏
  • 举报
回复
这些是在服务器端执行的,没有输出代码啊
或者保存代码啊

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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