.net下excel导出时出的问题,帮忙解决下!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net下excel导出时出的问题,帮忙解决下!相关的知识,希望对你有一定的参考价值。
.net中,在统计数据后,准备导出excel,点了出现如下提示问题:
无法显示 XML 页。
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
--------------------------------------------------------------------------------
XML 文档只能有一个顶层元素。处理资源 'http://192.168.1.102/rpt/excel.aspx' 时出错。第 15 行,位置: 2
<INPUT id=Button1 onclick=SaveToExcel(); type=button value=导出为EXCEL name=Button1> <BR><BR>
-^
这里介绍.net利用xsl模板,根据xsl文件定义的样式,导出excel文件,这里还有一个jlExcel.xsl样式定义,就不复制了,你可以直接查看原文
1。导出文件页PRMjlExport.aspx.cs代码(我这里继承的自己定义BasePage,引用时可直接继承System.Web.UI.Page)
public partial class PRMjlExport : BasePage
ProblemJLController pc = new ProblemJLController();
protected void Page_Load(object sender, EventArgs e)
try
if (!this.IsPostBack)
//这里是添加临时文件权限,不然有可能导出的文件无法直接打开
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.AppendHeader("Expires ", System.DateTime.Now.AddMinutes(30).ToString());
HttpContext.Current.Response.AppendHeader("Pragma ", "public ");
HttpContext.Current.Response.AppendHeader("Cache-Control ", "must-revalidate, post-check=0, pre-check=0 ");
HttpContext.Current.Response.AppendHeader("Cache-Control ", "public ");
//获取参数
if (Request.QueryString["proID"] != null)
ExportProblemList(Request.QueryString["proID"].ToString());
catch (Exception err)
Response.Write(err.ToString());
private void ExportProblemList(string sProID)
try
//获取数据源
DataSet ds = pc.problemSelect(sProID);
XmlDocument myXml = new XmlDataDocument(ds);
MSXML2.DOMDocument pXmlDocShow = new DOMDocumentClass();
pXmlDocShow.async = false;
pXmlDocShow.loadXML(myXml.InnerXml);
XmlDocument pXslDoc = new XmlDocument();
pXslDoc.Load(Server.MapPath("jlExcel.xsl"));
MSXML2.DOMDocument pXslDocShow = new DOMDocumentClass();
pXslDocShow.async = false;
pXslDocShow.loadXML(pXslDoc.InnerXml);
string strTemp = pXmlDocShow.transformNode(pXslDocShow);
int strTempBegin = strTemp.IndexOf("<?xml");
int strTempEnd = strTemp.LastIndexOf("?>");
strTemp = strTemp.Remove(strTempBegin, strTempEnd - strTempBegin + 2);
strTemp = @"<?xml version='1.0' encoding='utf-8'?><?mso-application progid='Excel.Sheet'?>" + strTemp;
string _fileXls = DateTime.Now.ToString("yyyyMMdd");
Response.Clear();
Response.Buffer = true;
Response.Charset = "utf-8";
Response.AddHeader("Content-Disposition", "attachment; filename=" + _fileXls + ".xls");
Response.ContentType = "application/ms-word";
Response.Write(strTemp);
catch (Exception err)
Response.Write(err.ToString());
该文章转自:站点基地 ".net导出excel文件的方法"一文 参考技术B 已经远程搞定了!本回答被提问者采纳
使用 excelJs 插件导出 excel(原生js)?
使用 excelJs 插件导出 excel(原生js) 导出在谷歌和火狐下都正常,但是在ie11中报错字符集越界,点击导出按钮会报错 “ExcelJS”未定义,求大佬帮忙看下怎么解决??谢谢!!
插件如果导致这个导出来的话,那么这个是可以直接导出另一个格式的,这种格式可能会更适合一点。 参考技术A 只是爱意这个浏览器 他比较古老背 而且功能比较少呗 所以他就没办法运行呗 参考技术B 正常的,在设置里面进行导出的话,应该都是容易的,这个没有什么难度来的。 参考技术C 用这个导出的话,一般来说是没有问题的,因为这个插件的话是完全可以起作用追问谷歌火狐没问题 ie11导不出来 会报错
参考技术D 使用插件导出的话,那应该有这样的软件,有通过这样的软件才能导出你所需要的问题的所在的,应该是有软件导出以上是关于.net下excel导出时出的问题,帮忙解决下!的主要内容,如果未能解决你的问题,请参考以下文章
如何在不重新加载页面的情况下使用 ASP.NET MVC 5 将数据导出到 Excel?