C# Aspose.Cells匯出xlsx格式Excel,開啟檔案報“Excel 已完成檔案級驗證和修復。此工作簿的某些部分可能已被修復或丟棄”
報錯資訊:
最近開啟下載的 Excel,會報如下錯誤。(xls 格式不受影響)
解決方案:
下載程式碼(紅色為新添程式碼)
public void download() { string fileName = "456.zip";//客戶端儲存的檔名 string filePath = AppDomain.CurrentDomain.BaseDirectory.Replace("\\", "/") + "Excel/123.zip"; System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);if (fileInfo.Exists == true) { //每次讀取檔案,只讀取1M,這樣可以緩解伺服器的壓力 const long ChunkSize = 1048576; byte[] buffer = new byte[ChunkSize]; Response.Clear(); //獲取檔案 System.IO.FileStream iStream = System.IO.File.OpenRead(filePath); //獲取下載的檔案總大小 longdataLengthToRead = iStream.Length; //二進位制流資料(如常見的檔案下載) Response.ContentType = "application/octet-stream"; //通知瀏覽器下載檔案而不是開啟 Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName)); //加上設定大小下載下來的.xlsx檔案開啟時才不會報“Excel 已完成檔案級驗證和修復。此工作簿的某些部分可能已被修復或丟棄”Response.AddHeader("Content-Length", iStream.Length.ToString()); using (iStream)//解決檔案佔用問題,using 外 iStream.Dispose() 無法釋放檔案 { while (dataLengthToRead > 0 && Response.IsClientConnected) { int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize));//讀取的大小 Response.OutputStream.Write(buffer, 0, lengthRead); Response.Flush(); dataLengthToRead = dataLengthToRead - lengthRead; } iStream.Dispose(); iStream.Close(); } Response.Close(); Response.End(); } }
給下載加了個長度,解決問題。
Response.AddHeader("Content-Length", iStream.Length.ToString());
相關推薦
C# Aspose.Cells匯出xlsx格式Excel,開啟檔案報“Excel 已完成檔案級驗證和修復。此工作簿的某些部分可能已被修復或丟棄”
報錯資訊: 最近開啟下載的 Excel,會報如下錯誤。(xls 格式不受影響) 解決方案: 下載程式碼(紅色為新添程式碼) public void download() { string fileName = "456.zip";//客戶端儲存的檔名 string f
asp.net NPOI導出xlsx格式文件,打開文件報“Excel 已完成文件級驗證和修復。此工作簿的某些部分可能已被修復或丟棄”
tpc com filesize instance ons 讀取 div 技術 i++ NPOI導出xlsx格式文件,會出現如下情況: 點擊“是”: 導出代碼如下: /// <summary> /// 將datatable數據寫
【小家java】一個基於POI的Excel的匯入、匯出工具處理類(支援xls,xlsx格式),另有SpringMVC的匯入、匯出案例講解
相關閱讀 前言 表格的匯入、匯出可謂開發過程中經常會碰到的功能。然後這種模版化的東西並不需要每次都去編碼一次,因此我就整理了一個Excel的萬能處理類。能夠實現相容2003、2007的各種Excel格式的匯入匯出功能,使用起來也非常的方面,適用於所有業務場景
C# Aspose.Cells拷貝Excel
Workbook workBook = new Workbook(OFD.FileName); Cells cells = workBook.Worksheets[0].Cells; if (cells == null) return; Data
C# Aspose.Cells.dll Excel操作總結
簡介 Aspose.Cells是一款功能強大的 Excel 文件處理和轉換控制元件,不依賴 Microsoft Excel 環境,支援所有 Excel 格式型別的操作。 獲取Excel資料 Workbook workbook = new Workbook("E:\\test.xlsx"); C
Java 下載 Excel模板時,報修正 Excel在“xxx.xlsx”中發現不可讀取的內容。是否恢復此工作薄的內容?如果信任此工作簿的來源,請點選"是"
程式碼如下: /** * 下載匯入應用模板 * * @return */ @ResponseBody @RequestMapping(method = RequestMethod.GET) public Response getAp
十七 bootstrap-table tableExport 匯出xlsx格式表格
在[十六、bootstrap-table javascript匯出資料]中,開啟匯出的表格時,總會彈出一個提示窗 那麼,匯出xlsx格式的應該就沒問題了吧?!實驗如下,查詢tableExport.js資料 TableExport外掛依賴於jQu
jasperReports 通過java匯出各種格式報表,及javaweb專案整合顯示各種報表
注意:編寫此專案時,請先手動編寫**.jrxml 或者用IReport生成**.jrxml或**.jasper 注:java匯出報表與web專案顯示報表方法其實是相同的,只不過有一句程式碼不同,如下 html.setParameter(JRHtmlExporte
NPOI寫Excel,Microsoft.Office.Interop.excel.dll 轉換Excel為PDF
首先要引用NPOI動態庫和Microsoft.Office.Interop.excel.dll (Microsoft.Office.Interop.excel.dll 下載連結,下載以後解壓檔案,把Microsoft.Office.Interop.excel.dll拷貝到專案下,新增引用。NPO
在c#中引用Microsoft.SqlServer.Types後,系統執行報"未能載入 SqlServerSpatial140.dll,找不到指定的模組,(異常來自......)的解決方法
1.在資源管理器中檢視C:\Windows\System32或者C:\Windows\SysWOW64下有沒有SqlServerSpatialXXX.dll的檔案,如果沒有,在網上下載後,把檔案重新命名為報錯的dll檔名,將其放入此目錄下 2.如果有,如下圖,我將原本的130改為140,程式便不
C# Form.Hide()後再 Show()時,Dock不為 none的 控制元件將不會顯示。
具體原因不是很清楚,查看了下 Control 的原始碼, Hide 和Show方法只是改變了 Visible屬性,然後看了下OnVisibleChanged方法,裡面的內容比較多,我就沒細看,想來也是控制其上的子控制元件的 visible屬性,但沒看到與 dock有何關
win7下VS2008 使用ODBC讀寫EXCEL,找不到EXCEL驅動,安裝驅動的辦法。。。
終於出現了 Microsoft Excel 12.0 Object Library<1.6>這一項受下面一段話的啟發:[color=#00CCFF]Excel.cpp和Excel.h是從Excel的型別庫中獲取的,型別庫類似C++中的標頭檔案,包括介面,方法,屬性
【FIF_Bro的部落格】C++ 的最大優點是,它是一門強大,兼顧了底層效率的,高階語言。這使得 C++ 幾乎沒有任何侷限性,無所不能。只要你是一個追求極致達到偏執的人,你幾乎總可以追尋到它的影子和存在。這門語言超高的開發成本,使得只有偏執的人,才會對它痴狂
C++ 的最大優點是,它是一門強大,兼顧了底層效率的,高階語言。這使得 C++ 幾乎沒有任何侷限性,無所不能。只要你是一個追求極致達到偏執的人,你幾乎總可以追尋到它的影子和存在。這門語言超高的開發成本...
C#中關閉第一個Form視窗,開啟另一個新視窗方法
C#程式設計時,經常會遇到處理兩個或多個視窗的問題。以登入視窗為例,當登入視窗登入驗證成功後,要進入主視窗,此時需要關閉登入視窗,這時候用this.close()是不可以的。因為Program.cs中 static void Main() { App
MATLAB/C語言混編的第一步,在MATLAB R2017b中生成mex檔案
Matlab在科學計算方面的優越性使其成為科研人員的必備軟體之一,搭載了大量複雜工具箱,日益優雅的程式碼編輯器讓MATLAB R2017b徹底替代了之前的先輩版本。然而MATLAB畢竟是一個商業化的數學軟體,在大型演算法的編寫和執行上都存在諸多缺點。因此一些大神們更喜歡用C
題目:輸入一個字串,打印出該字串中字元的所有排列。例如輸入字串abc,則輸出由字元a、b、c所能排列出來的所有字串abc、acb、bac、bca、cab和cba。
題目:輸入一個字串,打印出該字串中字元的所有排列。例如輸入字串abc,則輸出由字元a、b、c所能排列出來的所有字串abc、acb、bac、bca、cab和cba。 /** * */ pack
【JAVA習題十五】兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽籤決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請程式設計序找出三隊賽手的名單。
package erase; public class 選人比賽 { public static void main(String[] args) { // TODO Auto-generated method stub char A=0,B=0,C=0,str;
警惕!因為這些原因,你的簡歷可能會被HR直接丟棄
程序員簡歷源 | 小象 文 | 小象君你知道嗎?據有關數據統計,HR在初步篩選簡歷時在簡歷上停留的時間不會超過1分鐘,倘若應聘者眾多,分配在各個簡歷上的時間還會進一步縮短,二十秒或十秒看完一篇簡歷也很尋常。因此,你的簡歷實際並不是被閱讀,而只是被掃描。
公司簡介: Faceunity(杭州相芯科技有限公司)專注智慧圖形技術的創新與應用,為移動網際網路、VR/AR等領域提供3D內容生成與互動的行業解決方案,致力於好萊塢特效技術在消費級應用的普及。 Fac
歡迎使用Markdown編輯器 你好! 這是你第一次使用 Markdown編輯器 所展示的歡迎頁。如果你想學習如何使用Markdown編輯器, 可以仔細閱讀這篇文章,瞭解一下Markdown的基本語法知識。 新的改變 我們對Markdown編輯器進行了一些功能拓展與語法支援,除了
1.問題一:在oracle中,連續十次嘗試登陸不成功,那麼此賬戶將會被鎖定(lock)。當使用被鎖定的賬戶登入時,系統會報錯:ORA-28000: the account is locked。
解決思路: 以管理員的身份登入,即以sys或者system登入資料庫; 使用命令解鎖使用者:alter user 這裡是使用者名稱 account unlock; 重置密碼:alter user 這裡是使用者名稱 identified by 這裡是重置的密碼; 重新登入即可。