rdlc或rdl,在匯出excel(xlsx)後,開啟execl檔,出現『我們發現XXX.xlsx的部份內容有問題。您要我們盡可能嘗試復原嗎?如果您信任此活頁簿,請按一下【是】』。
接著點選【是】 後,就出現以下錯誤:
已取代的部分: /xl/worksheets/sheet1.xml 部分具有 XML 錯誤。 不合法的 xml 字元。 行 17,欄 441033。
測試後,原來有一個欄位的內容造成匯出的錯誤。但不解的是WHY??
這個欄位的內容如下,看起來似乎很正常,但把他COPY起來貼到記事本後,會發現設備前多了一個看似空白的空格。
脈衝電場(PEF)殺菌 設備
解出來是0x0B,在XML上這是個不合法的字元。
所以先把這個看似空白的字元刪除,匯出後開啟EXCEL就OK了。
MemoryStream ms = new MemoryStream();
回覆刪除......
workbook.Write(ms);
workbook = null;
ms.Close();
ms.Dispose();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=\"" + HttpUtility.UrlEncode("Name", System.Text.Encoding.UTF8) + ".xlsx\"");
HttpContext.Current.Response.BinaryWrite(ms.ToArray());
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
作者已經移除這則留言。
刪除您好,請問是如何發現的?我也遇到這問題,可是資料太多,無法一一檢查
回覆刪除已用notepad++解析出來,謝謝
刪除