第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用IDisposable清理ExcelInterop對象

使用IDisposable清理ExcelInterop對象

楊魅力 2019-06-17 16:05:55
使用IDisposable清理ExcelInterop對象在我的公司中,發(fā)布ExcelInterop對象的常見方法是使用IDisposable,方法如下:Public Sub Dispose() Implements IDisposable.Dispose     If Not bolDisposed Then         Finalize()         System.GC.SuppressFinalize(Me)     End IfEnd SubProtected Overrides Sub Finalize()     _xlApp = Nothing     bolDisposed = True     MyBase.Finalize()End Sub哪里_xlApp以下列方式在構(gòu)造函數(shù)中創(chuàng)建:Try     _xlApp = CType(GetObject(, "Excel.Application"), Excel.Application)Catch e As Exception     _xlApp = CType(CreateObject("Excel.Application"), Excel.Application) End Try客戶端使用using-statement執(zhí)行有關(guān)EXCEL互操作對象的代碼。我們完全避免使用二點規(guī)則..現(xiàn)在,我開始研究如何重新分配(Excel)Interop對象,以及幾乎所有關(guān)于它的討論,比如如何正確清除excel互操作對象或釋放Excel對象主要使用Marshal.ReleaseComObject(),沒有一個使用IDisposable接口。我的問題是:使用IDisposable Interace來釋放EXCEL互操作對象有什么缺點嗎?如果是的話,這些殘疾的優(yōu)點是什么。
查看完整描述

2 回答

?
德瑪西亞99

TA貢獻1770條經(jīng)驗 獲得超3個贊

如果你在尋找一種更清潔的方法,你可以用庫格拉..這并不是什么額外的開銷(只有兩個DLL必須包含在您的參考文件中),您也不必處理隱式垃圾收集。

下面的代碼是從EXCEL文件中讀取10行10列所需的EXCEL 32Excel.exe留下的進程。我一個月前就有過這個問題寫了關(guān)于怎么做的說明。比直接處理ExcelInterop要容易得多,也要干凈得多。

Koogra.IWorkbook workbook = Koogra.WorkbookFactory.GetExcel2007Reader("MyExcelFile.xlsx");
Net.SourceForge.Koogra.IWorksheet worksheet = workbook.Worksheets.GetWorksheetByName("Sheet1");
//This will invididually print out to the Console the columns A-J (10 columns) 
for rows 1-10.for (uint rowIndex = 1; rowIndex <= 10; rowIndex++){
    for (uint columnIndex = 1; columnIndex <= 10; columnIndex++)
    {
        Console.WriteLine(worksheet.Rows.GetRow(rowIndex).GetCell(columnIndex).GetFormattedValue());
    }}


查看完整回答
反對 回復(fù) 2019-06-17
  • 2 回答
  • 0 關(guān)注
  • 462 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號