VB.net 设置EXCEL文件的格式,执行速度太慢
我这里要实现的是,通过VB.net的程序导出某些数据。数据量不是很大,但问题是需要把这些数据保存到excel文件,并设置格式。当保存到excel文件时,执行的速度很快。但...
我这里要实现的是,通过VB.net的程序导出某些数据。数据量不是很大,但问题是需要把这些数据保存到excel文件,并设置格式。
当保存到excel文件时,执行的速度很快。但把设置格式的代码挂上之后,执行的速度立即就慢下来了。设置一个页面格式执行所需的时间大概是10秒左右,导出个四五页就要执行一两分钟。
有没有什么办法能够提高执行的效率啊?
我做的操作主要是设置行列的高度、宽度,设置字体,设置合并单元格与换行等。最后设置打印的格式。
代码太多,根本贴不下的~把主要设置格式的部分写出来吧~
.Columns(cSheetCol(ColIndex + j * 5 + 3)).columnwidth = 18
With .Range(cSheetCell((RowIndex + i * 7), (ColIndex + j * 5)), cSheetCell((RowIndex + i * 7 + 5), (ColIndex + j * 5 + 3)))
'上边线
With .Borders(Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeTop)
.LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous
.Weight = Microsoft.Office.Interop.Excel.XlBorderWeight.xlThick
.ColorIndex = Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic
End With
End With 展开
当保存到excel文件时,执行的速度很快。但把设置格式的代码挂上之后,执行的速度立即就慢下来了。设置一个页面格式执行所需的时间大概是10秒左右,导出个四五页就要执行一两分钟。
有没有什么办法能够提高执行的效率啊?
我做的操作主要是设置行列的高度、宽度,设置字体,设置合并单元格与换行等。最后设置打印的格式。
代码太多,根本贴不下的~把主要设置格式的部分写出来吧~
.Columns(cSheetCol(ColIndex + j * 5 + 3)).columnwidth = 18
With .Range(cSheetCell((RowIndex + i * 7), (ColIndex + j * 5)), cSheetCell((RowIndex + i * 7 + 5), (ColIndex + j * 5 + 3)))
'上边线
With .Borders(Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeTop)
.LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous
.Weight = Microsoft.Office.Interop.Excel.XlBorderWeight.xlThick
.ColorIndex = Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic
End With
End With 展开
2个回答
展开全部
建一个文件,把格式都搞好,然后导出时用 workbooks.add(path)
再填写数据,这样格式现成的了,
还有一个方法,录个宏,格式刷,挡刷的代码试试.
再填写数据,这样格式现成的了,
还有一个方法,录个宏,格式刷,挡刷的代码试试.
追问
这个方法我以前用过,主要是使用在单一页面的excel表格中。
但这次做的是个类似于流水账似的单据,数目不定,而且会很多。大概一天一次,一次几十页。
不然我做好一页的格式,然后刷下去?……
追答
要不HI一下,或远程一下看看,也许是你的代码的问题也说不定,比如你多次执行同一格式句,本来就慢就更慢了.对吧.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |