Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 从报表查看器导出Excel文件后出错_Asp.net_Excel_Openxml_Reportviewer - Fatal编程技术网

Asp.net 从报表查看器导出Excel文件后出错

Asp.net 从报表查看器导出Excel文件后出错,asp.net,excel,openxml,reportviewer,Asp.net,Excel,Openxml,Reportviewer,我使用asp.net中的报表查看器创建了报表。但最近我发现,当我下载后试图打开excel(xlsx)文件时,出现了一些错误。它显示了错误消息 “我们发现“Reportest(34).xlsx”中的某些内容有问题。是否希望我们尽可能多地恢复?如果您信任此工作簿的来源,请单击“是” 单击“是”后,会弹出另一个消息框,称为替换零件:/xl/worksheets/sheet1.xml Part with xml error.非法xml字符。第3行,第28935列 我试着压缩它,并且已经找到了它出错的原

我使用asp.net中的报表查看器创建了报表。但最近我发现,当我下载后试图打开excel(xlsx)文件时,出现了一些错误。它显示了错误消息 “我们发现“Reportest(34).xlsx”中的某些内容有问题。是否希望我们尽可能多地恢复?如果您信任此工作簿的来源,请单击“是”

单击“是”后,会弹出另一个消息框,称为替换零件:/xl/worksheets/sheet1.xml Part with xml error.非法xml字符。第3行,第28935列

我试着压缩它,并且已经找到了它出错的原因。我发现错误是因为第28935行中的不可读字符

如何使用错误处理此错误。这是我的excel版本吗?因为以前它工作正常。请帮助我解决此问题

多谢各位

致以最良好的祝愿,
Choo

我已经得到了解决方案。我在报表查看器中添加了额外的xls格式(excel 2003)以供下载,问题得到了解决。报表已正确打开。谢谢!

好吧,涉及到哪些版本的excel?还不清楚哪个字符“不可读”"? 您确定此字符是工作簿的一部分,打开时没有出现错误吗?您使用什么代码触发文件下载?@Cindy Meister我使用的是Microsoft Visual Studio 2012,文件类型为Microsoft Excel工作表(.xlsx)。我进入了aspx页面的顶部。无法读取的字符是char(31),这是图片2中显示的“US”字。@petelids我正在使用vb.net编写代码,刚刚解压缩xlsx文件以触发错误。您可能需要在Excel的专门最终用户组中询问版本是否/如何支持非打印ANSI字符(31列为“单位分隔符”)。谷歌证实,Excel在这些字符上可能存在问题,建议用标准字符替换。问题在于为什么ReportViewer会在其内容中导出非打印字符。也许您应该询问的是如何禁止ReportViewer执行此操作,或者如何在生成报告的“流”中替换有效字符。