当前位置: 首页 > news >正文

罗岗网站建设价格在国外服务器上做网站项目如何赚钱吗

罗岗网站建设价格,在国外服务器上做网站项目如何赚钱吗,网站优化教程,工具类网站如何做排名使用 Microsoft.Office.Interop.Excel 虽然有速度慢的缺点#xff1b;但是作为自带引用#xff0c;兼容性最好#xff0c;而且是COM对象模型也很熟悉(Excel里直接录个宏#xff0c;很方便把VBA代码转成VB.NET)。所以处理几百上千条的小数据时还是很方便的。 而 Microsoft.…使用 Microsoft.Office.Interop.Excel 虽然有速度慢的缺点但是作为自带引用兼容性最好而且是COM对象模型也很熟悉(Excel里直接录个宏很方便把VBA代码转成VB.NET)。所以处理几百上千条的小数据时还是很方便的。 而 Microsoft.Office.Interop.Excel 用得不多的最大问题其实就是拿简单例子可以正确释放Excel做了大量操作后却发现在任务管理器中依然有多余Excel进程存在。 问题原因当然是COM对象映射到Interop交互对象之后.NET下的交互对象释放次序不符合COM对象预期导致不能正确释放。比如 Dim xlApp New Excel.Application() With {.Visible False} Dim xlWorkbooks As Excel.Workbooks xlApp.Workbooks Dim xlWorkbook As Excel.Workbook xlWorkbooks.Open(...)Dim value As Object xlWorkbook.Sheets(1).Cells(1,1).ValuexlWorkbook.Close() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbook) xlWorkbook Nothing System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbooks) xlWorkbooks Nothing xlApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) xlApp Nothing System.GC.Collect()中间取value这行代码看起来很正常没有保留任何交互对象。其实在整个对象访问路径上隐式使用了以下交互对象要靠GC来释放(通常是延后的————即调用Close()时交互对象未释放、工作簿关闭不了之后的Quit()Excel不会退出) xlWorkbook.Sheets Excel.Sheets xlWorkbook.Sheets(1) Excel.Worksheet xlWorkbook.Sheets(1).Cells Excel.Range xlWorkbook.Sheets(1).Cells(1,1) Excel.Range要做到正确释放要把这些交互对象全部在Close()前释放。为了方便使用把 Excel.Application 和 Excel.Workbook 封装在类中用 IDisposable 接口确保释放。用类似下面的属性封装访问 Public Property CellValue(sheetIndex As Object, rowNo As Integer, colNo As Integer) As ObjectGetDim xlSheets As Excel.Sheets m_xlWorkbook.SheetsDim xlSheet As Excel.Worksheet xlSheets.Item(sheetIndex)Dim xlCells As Excel.Range xlSheet.CellsDim xlCell As Excel.Range xlCells.Item(rowNo, colNo)Dim value As Object xlCell.ValueSystem.Runtime.InteropServices.Marshal.ReleaseComObject(xlCell)System.Runtime.InteropServices.Marshal.ReleaseComObject(xlCells)System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet)System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheets)System.GC.Collect(0)Return valueEnd GetSet(value As Object) 同理所有交互对象保留变量、释放End SetEnd Property上面的属性是通过行号、列号访问单元value如果需要通过A1格式访问单元又要定义属性如果需要访问单元text也要单独定义属性。 总之全部封装好后读写完Excel文件后就能正确释放不再有多余Excel进程残留。
http://www.huolong8.cn/news/144545/

相关文章:

  • 有什么网站建设软件秦皇岛建设工程
  • 做电脑系统哪个网站徐州网站建设xzqjwl
  • 做网站需要写代码吗吕梁网页制作公司
  • 龙岩网站设计制作wordpress 4.9.2 中文
  • 运营最好的网站购物网站最重要的功能
  • godaddy中文网站开发网站商务通弹出窗口图片更换设置
  • 泰州网站建设服务公司建设网站文献
  • 优质院校 建设网站网站建设熊掌号
  • 自己做的网站根目录哪里找到途牛旅游网站建设背景
  • 网站建设制作开发 小程序开发定制 软件系统开发电脑免费安装wordpress
  • 可以做兼职翻译的网站网站建设中最重要的环节是什么
  • 房管局备案查询网站注册企业公司流程及费用
  • 网站排名 优帮云263企业邮箱官方入口
  • 龙岩网站建设馨烨王占山将军是什么军衔
  • 网站信息系统福建省建设厅网站电脑板
  • 网站一定要公司吗cn.wordpress
  • 古云网站建设wordpress付费查看插件
  • 网页设计建站网络工程专业就业前景
  • 医院的网站建设目标找人做网页需要多少钱
  • 广州学习网站建设潍坊昌大建设集团网站
  • 网站模板修改软件贵阳高端网站设计公司
  • 宝塔软件做网站c 在网站开发方面有优势吗
  • 体育网站的制作哪里可以做星河东莞网站建设
  • 长沙制作网站设计多少钱网站区域名怎么注册
  • 注册号域名后如何建设公司网站wordpress打开install
  • 国内的足彩网站怎么做的济南网约车公司
  • wap网站报价河北唐山建设工程协会网站
  • 阿里云智能logo设计网站网站制作价格情况
  • 聊城网站建设lckjxxwordpress 使用 mysqli
  • 网站设计师和ui设计师如何申请做网站