自上次更新Crystal报表以来,我在生成word文件时遇到了问题。 Word文档已损坏,我无法在网上找到溶剂或类似问题。 我可以毫无问题地生成PDF文档。 Word中的文档已损坏,但我可以使用写字板打开。
生成的文件.doc已损坏,我的代码
没有错误try
{
t = CrystalDecisions.Shared.ExportFormatType.WordForWindows;
content_type = "application/msword";
var oStream = MonReport.ExportToStream(t);
byte[] byteArray = new byte[oStream.Length];
oStream.Read(byteArray, 0, Convert.ToInt32(oStream.Length - 1));
parent.Response.ClearContent();
parent.Response.ClearHeaders();
parent.Response.ContentType = content_type;
parent.Response.BinaryWrite(byteArray);
parent.Response.Flush();
parent.Response.Close();
MonReport.Close();
MonReport.Dispose();
答案 0 :(得分:-1)
你的长度太短了。那应该是:
oStream.Read(byteArray, 0, Convert.ToInt32(oStream.Length));
^^^^^^^^^^^^^^
Stream.Read的第三个参数是
"从当前流中读取的最大字节数。"