代码执行完毕后,页面中没有下载提示; 求解datetable doclist=。。
调用ExportToExcel.ExportExcel(Page, doclist, "规范文件", "规范文件"); /// <summary>
/// 构建TABLE加上头
/// </summary>
/// <param name="page"></param>
/// <param name="dtExcel"></param>
/// <param name="strFileName"></param>
public static void ExportExcel(System.Web.UI.Page page, System.Data.DataTable dtExcel, string head, string strFileName)
{
string strExtFile = strFileName.Trim();
if (strExtFile.Substring(strExtFile.Length - 4, 4).ToUpper() != ".xls")
{
strExtFile += ".xls";
}
page.Response.Clear();
page.Response.Buffer = true;
page.Response.Charset = "utf-8";
page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(strExtFile, System.Text.Encoding.UTF8));
page.Response.ContentType = "application/vnd.ms-excel";
page.Response.Charset = "";
page.EnableViewState = false;
StringWriter stringWrite = new StringWriter();
HtmlTextWriter htmlTxtWrite = new HtmlTextWriter(stringWrite);
htmlTxtWrite.Write("<html>\r\n<meta content=\"text/html;charset=utf-8\"></meta>\r\n<body>\r\n");
htmlTxtWrite.Write("<table cellspacing=\"0\" border=\"1\">\r\n");
htmlTxtWrite.Write(head);
htmlTxtWrite.Write("<tr>\r\n");
for (int i = 0; i < dtExcel.Columns.Count; i++)
{
string strTitle = ConvertToHtmlCode(dtExcel.Columns[i].Caption.Trim());
htmlTxtWrite.Write("\t<td bgcolor=\"lightblue\">" + strTitle + "</td>\r\n");
}
htmlTxtWrite.Write("</tr>\r\n");
foreach (DataRow dr in dtExcel.Rows)
{
htmlTxtWrite.Write("<tr>\r\n");
for (int i = 0; i < dtExcel.Columns.Count; i++)
{
string strValue = "";
if (dtExcel.Columns[i].DataType == typeof(System.DateTime))
{
strValue = DateTimeConvertToString(dr[i]);
}
else
{
strValue = ConvertToHtmlCode(dr[i].ToString().Trim());
}
htmlTxtWrite.Write("\t<td>" + strValue + "</td>\r\n");
}
htmlTxtWrite.Write("</tr>\r\n");
}
htmlTxtWrite.Write("\r\n</table>\r\n</body>\r\n</html>");
page.Response.Write(stringWrite.ToString());
page.Response.End();
}
界面中有updatepanel,打包下载,但打包下载有提示
输出 execle 的 ExportExcel方法之前好好的,
更改了下调用,
之前的 dataset doclist=。。
调用ExportToExcel.ExportExcel(Page, doclist.table[0], "规范文件", "规范文件");
求指点
调用ExportToExcel.ExportExcel(Page, doclist, "规范文件", "规范文件"); /// <summary>
/// 构建TABLE加上头
/// </summary>
/// <param name="page"></param>
/// <param name="dtExcel"></param>
/// <param name="strFileName"></param>
public static void ExportExcel(System.Web.UI.Page page, System.Data.DataTable dtExcel, string head, string strFileName)
{
string strExtFile = strFileName.Trim();
if (strExtFile.Substring(strExtFile.Length - 4, 4).ToUpper() != ".xls")
{
strExtFile += ".xls";
}
page.Response.Clear();
page.Response.Buffer = true;
page.Response.Charset = "utf-8";
page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(strExtFile, System.Text.Encoding.UTF8));
page.Response.ContentType = "application/vnd.ms-excel";
page.Response.Charset = "";
page.EnableViewState = false;
StringWriter stringWrite = new StringWriter();
HtmlTextWriter htmlTxtWrite = new HtmlTextWriter(stringWrite);
htmlTxtWrite.Write("<html>\r\n<meta content=\"text/html;charset=utf-8\"></meta>\r\n<body>\r\n");
htmlTxtWrite.Write("<table cellspacing=\"0\" border=\"1\">\r\n");
htmlTxtWrite.Write(head);
htmlTxtWrite.Write("<tr>\r\n");
for (int i = 0; i < dtExcel.Columns.Count; i++)
{
string strTitle = ConvertToHtmlCode(dtExcel.Columns[i].Caption.Trim());
htmlTxtWrite.Write("\t<td bgcolor=\"lightblue\">" + strTitle + "</td>\r\n");
}
htmlTxtWrite.Write("</tr>\r\n");
foreach (DataRow dr in dtExcel.Rows)
{
htmlTxtWrite.Write("<tr>\r\n");
for (int i = 0; i < dtExcel.Columns.Count; i++)
{
string strValue = "";
if (dtExcel.Columns[i].DataType == typeof(System.DateTime))
{
strValue = DateTimeConvertToString(dr[i]);
}
else
{
strValue = ConvertToHtmlCode(dr[i].ToString().Trim());
}
htmlTxtWrite.Write("\t<td>" + strValue + "</td>\r\n");
}
htmlTxtWrite.Write("</tr>\r\n");
}
htmlTxtWrite.Write("\r\n</table>\r\n</body>\r\n</html>");
page.Response.Write(stringWrite.ToString());
page.Response.End();
}
界面中有updatepanel,打包下载,但打包下载有提示
输出 execle 的 ExportExcel方法之前好好的,
更改了下调用,
之前的 dataset doclist=。。
调用ExportToExcel.ExportExcel(Page, doclist.table[0], "规范文件", "规范文件");
求指点
解决方案 »
- 特怪异:ASP.NET中使用Image.Save()保存生成的缩略图,在IIS本机上运行可以成功,但远程运行则不行!
- 求帮助,中木马,UpdatedPage=aGlqYWNr 网站所有页面都有这个代码。
- 提问:如何使有改动的数据显示不同颜色
- IIS访问localhost需要验证问题解决The parameter is incorrect.
- Repeater绑定无效
- 如何才能在点击按钮后先执行后台代码,然后再执行前台javascript?
- “/”应用程序中的服务器错误,请大家帮帮忙!!!
- 怎样对子控件进行刷新?(100分求救)
- 关于模态对话框
- 大家帮忙看看这段代码,老是报错。
- aspx页面操作FTP的问题
- NET正则替换问题
低于30列的 在导出时就不显示; 神了
这是在360浏览器下;电脑本身自带的 IE8 没任何问题;360难道不是基于系统IE的内核吗??