2020年6月4日 星期四

[研究][ASP.NET] 用 Excel 開啟匯出的 .ods 出現【這個活頁簿無法由 Microsoft Excel 開啟或修復,因其已損毀。】

[研究][ASP.NET] 用 Excel 開啟匯出的 .ods 出現【這個活頁簿無法由 Microsoft Excel 開啟或修復,因其已損毀。】

2020-06-04

如果 SQL Server 資料庫用 ASP.NET 程式產生的 .ods 檔案,有些可以正常 Excel 開啟,有些無法用 Excel 開啟,而出現:

這個活頁簿無法由 Microsoft Excel 開啟或修復,因其已損毀。



可能是資料包含 .ods 檔案無法允許的字元 (一般是不可見字元),但是該字元在 C# 的 string 變數和 SQL Server 的 nvarchar 欄位是允許使用的。一般可能是資料填寫使用匯入方式,而資料從某地方來源拷貝過來發生。

最好寫入資料庫或匯出前先用 String.Replace( originString, ""); 把特殊字元移除。(換行字元好像可保留,backspace 不行,具體情況要測試,可能和使用元件支援程度、會否主動幫你處裡過濾也有關 )

(完)

沒有留言:

張貼留言