办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL

时间:2022-09-07 12:06:12

办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL

总体来说,VB的EXCEL导出效率还是蛮低的,就是一个小型化的办公用品管理软件,不再优化了。

时间紧迫,就没有从头到尾的用C#编写,从网上看见有源码就直接COPY下来的,添加了一点小功能,编译后给了朋友使用。

VB6.0编写的,蛮古老的开发语言,算是学习编程时第一个学会的语言,真是许久没有使用,有些生疏了。

上一下运行效果:

办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL

办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL

办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL

Private Sub SaveEXCEL_Click()

Dim Introws As Integer          '用作循环,标识MSHFlexGrid总行数
Dim Intcols As Integer '用作循环,标识MSHFlexGrid的总列数
Dim XlsApp As Excel.Application '定义EXCEL对象
Dim XlsSheet As Excel.Worksheet '定义EXCEL表
Dim XlsBook As Excel.Workbook '定义EXCEL的工作薄 Set XlsApp = CreateObject("Excel.Application") '实例化EXCEL对象
Set XlsBook = XlsApp.Workbooks.Add '加载工作薄
Set XlsSheet = XlsBook.Worksheets() '创建工作表 XlsSheet.SaveAs "D:\当前库存.xls" '保存 XlsSheet.Cells(, ) = "序号"
XlsSheet.Cells(, ) = "办公用品名称"
XlsSheet.Cells(, ) = "一级分类名称"
XlsSheet.Cells(, ) = "二级分类名称"
XlsSheet.Cells(, ) = "型号"
XlsSheet.Cells(, ) = "库存数量"
XlsSheet.Cells(, ) = "库存下限"
XlsSheet.Cells(, ) = "备注" For i = To DataGrid1.Columns.Count -
For j = To DataGrid1.ApproxCount -
DataGrid1.Col = i
On Error Resume Next
DataGrid1.Row = j
XlsSheet.Cells(j + , i + ) = DataGrid1.Columns.Item(i).Text
Next j
Next i
'释放对象
XlsApp.Visible = True
Set XlsApp = Nothing End Sub

上面的代码输出的时候总是把最后一行重复输出N多次。找到上面代码的原因了,什么也不说了上代码

    Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets() xlSheet.Columns.AutoFit
Me.MousePointer =
For k = To DataGrid1.Columns.Count - 'DataGrid所有的列数
xlSheet.Cells(, k + ) = DataGrid1.Columns(k).Caption '第一行为DataGrid的列标题
Next
DataGrid1.Scroll , -DataGrid1.FirstRow '导出前拉动过垂直滚动条,这个非常重要
DataGrid1.Row =
For i = To DataGrid1.ApproxCount - 'DataGrid的所有行数 For j = To DataGrid1.Columns.Count - 'DataGrid所有的列数,若将此数改小到不拉DataGrid的垂直滚动条的时候能看见的行数的时候正常
DataGrid1.Col = j
xlSheet.Cells(i + , j + ) = Adodc1.Recordset(j) 'DataGrid1.Text '从第二行显示'DataGrid的内容,这里修改成这样也可以DataGrid1.Columns.Item(j).Text
Next
If i < DataGrid1.ApproxCount - Then
DataGrid1.Row = DataGrid1.Row +
End If
Next
Me.MousePointer =
MsgBox "导出成功!"
xlApp.Visible = True
Set xlApp = Nothing 'Excel 处于当前窗体
Set xlBook = Nothing
Set xlSheet = Nothing

最终应用的方法,这样比较迅速导出,直接导出Adodc,还是从数据根源导出好一点。

Private Sub SaveEXCEL_Click()
Dim i As Long, j As Long
Dim xlsApp As Excel.Application
Dim xlsBook As Excel.Workbook
Set xlsApp = New Excel.Application
Set xlsApp = CreateObject("Excel.Application")
xlsApp.Visible = True
xlsApp.Workbooks.Add 'Set xlsBook = xlsApp.Workbooks.Open(App.Path & "\filename.xls") xlsApp.Sheets("sheet1").Select
xlsApp.Cells(, ) = "序号"
xlsApp.Cells(, ) = "办公用品名称"
xlsApp.Cells(, ) = "一级分类名称"
xlsApp.Cells(, ) = "二级分类名称"
xlsApp.Cells(, ) = "型号"
xlsApp.Cells(, ) = "库存数量"
xlsApp.Cells(, ) = "库存下限"
xlsApp.Cells(, ) = "备注"
xlsApp.ActiveSheet.Range("A2").CopyFromRecordset Adodc1.Recordset If xlsApp.ActiveWorkbook.Saved = False Then
xlsApp.ActiveWorkbook.SaveAs App.Path & "\当前库存.xls"
End If
'xlsApp.Quit
Set xlsApp = Nothing End Sub

办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL的更多相关文章

  1. 办公用品管理系统VB——模块

    'DbFunc.bas'== 标记数据库是否连接 == Private IsConnect As Boolean '== 标记执行Connect()函数后,访问数据库的次数 == Private Co ...

  2. VB&period;NET版机房收费系统---导出Excel表格

    datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,能够显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件很easy和直观,大多数情 ...

  3. VB&period;NET导出Excel 轻松实现Excel的服务器与客户端交换 服务器不安装Office

    说来VB.Net这个也是之前的一个项目中用到的.今天拿来总结下用途,项目需求,不让在服务器安装Office办公软件.这个也是煞费了一顿. 主要的思路就是 在导出的时候,利用DataTable做中间变量 ...

  4. ASP&period;NET MVC5&plus;EF6&plus;EasyUI 后台管理系统(87)-MVC Excel导入和导出

    本文示例代码下载: 链接:http://pan.baidu.com/s/1jHBdgCA 密码:hzh7 ps:Vs数据库脚本在解压目录下,修改web.config数据库链接,示例代码包含:导入,导出 ...

  5. 超级简单POI导出Excel实战

    在一般的生产管理系统都会将数据通过页面导出到Excel,这里以Java为例通过第三方开源poi进行对Excel的操作,具体操作如下 1.引入jar包依赖 这里我以maven的方式引入jar包,具体依赖 ...

  6. spring boot&colon;使用poi导出excel电子表格文件&lpar;spring boot 2&period;3&period;1&rpar;

    一,什么是poi? 1,poi poi是用来兼容微软文档格式的java api, 它是apache的*项目之一, 也是我们在生产环境中导出excel时使用最多的库 2,poi官方网站: http:/ ...

  7. 利用poi导出Excel

    import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.r ...

  8. Java导出excel

    一.介绍 常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际的开发中,很多时候需要实现导入.导出Excel的应用. ...

  9. Python导出Excel为Lua&sol;Json&sol;Xml实例教程(二):xlrd初体验

    Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...

随机推荐

  1. SDWebImage源码解读 之 SDWebImageCompat

    第三篇 前言 本篇主要解读SDWebImage的配置文件.正如compat的定义,该配置文件主要是兼容Apple的其他设备.也许我们真实的开发平台只有一个,但考虑各个平台的兼容性,对于框架有着很重要的 ...

  2. Limit the query running time with Resource limit facility &lpar;RLF&rpar;

    If you need to limit the query(package,plan) running time, but the JCL/JOB TIME parameters doesn't w ...

  3. git传输协议原理

    git精神:distributed-is-the-new-centralized 转自:http://git-scm.com/book/zh/v1/Git-%E5%86%85%E9%83%A8%E5% ...

  4. &lbrack;codevs1380&rsqb;没有上司的舞会

    本题地址 http://www.luogu.org/problem/show?pid=1352 http://codevs.cn/problem/1380/ 题目描述 某大学有N个职员,编号为1~N. ...

  5. javascript 判断IOS版本号

    先来观察 iOS 的 User-Agent 串: iPhone 4.3.2 系统: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; ...

  6. beef配合ettercap批量劫持内网的浏览器

    先更改首先先打开ettercap的DNS文件进行编辑,在kali linux2.0下的文件路径为/etc/ettercap/etter.dns 在对应的位置添加对应的 标识和IP地址 * 代表所有域名 ...

  7. 我的数据,我做主——RecoveryManager Plus

    我的数据,我做主——RecoveryManager Plus RecoveryManager Plus除了支持对Exchange On-premise邮箱的备份恢复,还可以支持对Microsoft E ...

  8. jdk8中关于操作集合的一些新特性,遍历和排序操作

    jdk8增加了不少新的东西,在集合操作这块,就有如 lamda表达式,stream,sort,optional等新的类,主要涉及遍历和排序等方面,新特性提升了不少性能,我们开发就是要拥抱新事物,守着老 ...

  9. 【python010-数组】

    1.创建列表 *创建普通列表 >>> member = ['尘封','破冰','python']>>> member['尘封', '破冰', 'python'] * ...

  10. 理解Solr缓存及如何设置缓存大小

    文献地址:http://wangdg.com/understanding-and-tuning-solr-cache/ 理解Solr缓存及如何设置缓存大小 为了得到最好的检索性能,Solr会在内存中缓 ...