本文主要是介绍机房收费系统问题总结——导出Excel,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们在机房收费系统中,很多窗体都用到了导出Excel表格,现在我来说说我遇到的问题。
1:无引用,也就是vb中没有Microsoft Excel 15.0 object library
这时候我们就要想我们有office吗?假如没有那就快点安装一个吧。vb是只和微软出来的office交互的,和wps是不交互的。
假如你安装的是2013版的office,千万记得激活,要不然后面的问题真的是不断啊。而且要卸载wps,假如不卸载应该到时候运行的时候就会提示这个错误:
(1)由于部件忙,不能完成该操作,选择切换到“按钮激活部件”
(2)
所以果断卸载比较好。。。。。
正确安装好了office后,再看一下工程里面的引用,看看是不是有Microsoft Excel 15.0 object library,假如没有的话,直接点击右面的“浏览”,接下来就会弹出下面的窗体了。
接下来就是选择它的范围啦,我们要查找的是实体,不是快键方式,我们要去安装它的位置去找,我是在E盘安装的,所以就在E盘里面找到的,找起来比较麻烦,大家找的时候耐心点滴。
2:代码
代码是在网上搜的,搜了好几篇,自己理解一下,然后敲上
无论是那一种方法,都需要添加引用的,所以先把勾给画上啊。
(1)
Private Sub CmdExcel_Click()Dim app As Excel.ApplicationDim book As Excel.WorkbookDim sheet As Excel.WorksheetSet app = New Excel.ApplicationSet book = app.Workbooks.AddSet sheet = book.Worksheets.AddDim row As SingleDim col As SingleWith MyFlexGridFor row = 0 To .Rows - 1For col = 0 To .col - 1sheet.Cells(row + 1, col + 1).Value = .TextMatrix(row, col)Next colNext rowEnd Withapp.Visible = TrueExit Sub
End Sub
(2)在我们的机房收费系统文件夹下(也就是根目录下)建立一个空白的Excel表格,接下来就是这些代码啦
<pre name="code" class="vb">Dim i As IntegerDim j As IntegerMyFlexGrid.Redraw = False '关闭表格重画,加快运行速度Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象'打开已经存在的EXCEL工件簿文件Set xlBook = xlApp.Workbooks.Open(App.Path & "\学生上机记录.xls")xlApp.Visible = True '设置EXCEL对象可见Set xlSheet = xlBook.Worksheets("Sheet1") '设置活动工作表For i = 0 To MyFlexGrid.Rows - 1 '行循环For j = 0 To myFlexGrid.Cols - 1 '列循环MyFlexGrid.Row = iMyFlexGrid.Col = j'保存到EXCEL xlBook.worksheets("sheet1").cells(i+1=MyFlexGrid.text)next jnext iMyFlexGrid.Redraw=True
其实这些方法几乎都是差不多的,都是声明变量,然后行列循环啦,这种没有用到过的很高大上东东,一搜就全都出来啦!同时向大家推荐如何导出Excel,这里面介绍的也是很详细的。
对于机房收费系统,我还是有一个很大的疑问的,那就是窗体总是不翼而飞,一些窗体先保存,然后运行,然后退出程序关机之后,第二天打开电脑,窗体就没有了,也许我是好欺负吧,第二天再重新敲!但是该怎么解决吗?难道解决的方案就是我再重新装一个vb吗?求解啊
这篇关于机房收费系统问题总结——导出Excel的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!