以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  XLS.BOOK与MSEXCEL效率问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85313)

--  作者:wh420
--  发布时间:2016/5/23 11:04:00
--  XLS.BOOK与MSEXCEL效率问题
在FOX命令窗口中执行代码1和代码2,怎么感觉用XLS.BOOK打开一个EXCEL文件比用MSEXCEL打开要快得多呢?

代码1:

Dim st As Date = Date.Now
Dim ft As String = "D:\\temp\\1.xls"      
Dim eapp As new msexcel.application
Dim wb As msexcel.workbook=eapp.workbooks.open(ft)
Dim ws As msexcel.worksheet=wb.worksheets(1)
Output.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒") \'计算

代码2:


Dim st As Date = Date.Now
Dim ft As String = "D:\\temp\\1.xls"      
Dim Book As New XLS.Book(ft)
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Output.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒") \'计算

--  作者:大红袍
--  发布时间:2016/5/23 11:05:00
--  
 是的,vba操作的时候,会较慢,但是它的功能多。如果不必要,不要用vba,也就是MSExcel。
--  作者:wh420
--  发布时间:2016/5/23 11:19:00
--  
那问题来了:
1、我要操作多个EXCEL文件及多个SHEET,把每个EXCEL文件中的单元格内容提取到FOXTABLE中的一列。如果用VBA操作打开文件就会慢,如果用XLS.BOOK就会快很多,但是200多个EXCEL文件处理起来XLSBOOK会越来越慢吧?.NET不能立即释放内存
2、MSEXCEL是不是只是在打开的环节会慢,其他操作速度是否优于XLSBOOK?(例如:设置字体、行高、字号大小等等)

--  作者:wh420
--  发布时间:2016/5/23 11:20:00
--  
哪种方法效率更高?尤其是批量处理文件的时候
--  作者:大红袍
--  发布时间:2016/5/23 11:21:00
--  
以下是引用wh420在2016/5/23 11:20:00的发言:
哪种方法效率更高?尤其是批量处理文件的时候

 

XLS.Book可以做到的,就没必要用MSExcel来做。


--  作者:wh420
--  发布时间:2016/5/23 11:33:00
--  
明白了,谢谢
--  作者:wh420
--  发布时间:2016/5/23 12:01:00
--  
那xls.book每操做完一个excel文件如何关闭呢?
--  作者:大红袍
--  发布时间:2016/5/23 12:04:00
--  
以下是引用wh420在2016/5/23 12:01:00的发言:
那xls.book每操做完一个excel文件如何关闭呢?

 

xls.book 自己会关闭的。