C#winform资源释放问题 5C

C#在调用Aspose.Cells.dll把Excel表格生成图片时内存占用率会越来越高是什么问题?

 Workbook book = new Workbook(Application.StartupPath + @"\Config\excel.xlsx");
            Worksheet sheet = book.Worksheets[0];

            sheet.PageSetup.LeftMargin = 0;
            sheet.PageSetup.RightMargin = 0;
            sheet.PageSetup.BottomMargin = 0;
            sheet.PageSetup.TopMargin = 0;

            ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
            imgOptions.ImageFormat = System.Drawing.Imaging.ImageFormat.Bmp;

            imgOptions.OnePagePerSheet = true;
            imgOptions.PrintingPage = PrintingPageType.IgnoreBlank;

            SheetRender sr = new SheetRender(sheet, imgOptions);
            sr.ToImage(0, Application.StartupPath + @"\Config\Excel.bmp");

这段代码是放在timer里面定时循环执行的!

10个回答

不排除aspose有内存泄漏,用using把Workbook、SheetRender都包括进来,或者用dispose方法释放下。

qq_41222492
qq_41222492 哦哈哈哈哈
接近 2 年之前 回复
single_day
single_day 具体怎么操作呢?能说说么?
接近 2 年之前 回复

用USING关键字包括进来

single_day
single_day 用不了,提示说“Worksheet”: using 语句中使用的类型必须可隐式转换为“System.IDisposable”
接近 2 年之前 回复

个人觉得此处应当用Task执行此处的生成图片代码,这样应该会好一点。

single_day
single_day Task不会用哦!!!!
接近 2 年之前 回复

@caozhy 具体该怎么操作呢,对刚刚接触C#没多久还望指教!

不排除aspose有内存泄漏,用using把Workbook、SheetRender都包括进来,或者用dispose方法释放下

包括进来,或者用dispose方法释放下

把Workbook、SheetRender都包括进来,或者用dispose方法释放 这个可能性很大

把Workbook、SheetRender都包括进来,或者用dispose方法释放 这个可能性很大

把Workbook、SheetRender都包括进来,或者用dispose方法释放 这个可能性很大

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!