办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL
办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL
总体来说,VB的EXCEL导出效率还是蛮低的,就是一个小型化的办公用品管理软件,不再优化了。
时间紧迫,就没有从头到尾的用C#编写,从网上看见有源码就直接COPY下来的,添加了一点小功能,编译后给了朋友使用。
VB6.0编写的,蛮古老的开发语言,算是学习编程时第一个学会的语言,真是许久没有使用,有些生疏了。
上一下运行效果:
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(1) '创建工作表 XlsSheet.SaveAs "D:\当前库存.xls" '保存 XlsSheet.Cells(1, 1) = "序号"XlsSheet.Cells(1, 2) = "办公用品名称"XlsSheet.Cells(1, 3) = "一级分类名称"XlsSheet.Cells(1, 4) = "二级分类名称"XlsSheet.Cells(1, 5) = "型号"XlsSheet.Cells(1, 6) = "库存数量"XlsSheet.Cells(1, 7) = "库存下限"XlsSheet.Cells(1, 8) = "备注"For i = 0 To DataGrid1.Columns.Count - 1For j = 0 To DataGrid1.ApproxCount - 1DataGrid1.Col = iOn Error Resume NextDataGrid1.Row = jXlsSheet.Cells(j + 2, i + 1) = DataGrid1.Columns.Item(i).TextNext jNext i'释放对象XlsApp.Visible = TrueSet XlsApp = NothingEnd Sub
上面的代码输出的时候总是把最后一行重复输出N多次。找到上面代码的原因了,什么也不说了上代码
Dim i As IntegerDim j As IntegerDim k As IntegerDim xlApp As Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetSet xlApp = New Excel.ApplicationSet xlBook = xlApp.Workbooks.AddSet xlSheet = xlBook.Worksheets(1)xlSheet.Columns.AutoFitMe.MousePointer = 11For k = 0 To DataGrid1.Columns.Count - 1 'DataGrid所有的列数xlSheet.Cells(1, k + 1) = DataGrid1.Columns(k).Caption '第一行为DataGrid的列标题NextDataGrid1.Scroll 0, -DataGrid1.FirstRow '导出前拉动过垂直滚动条,这个非常重要DataGrid1.Row = 0For i = 0 To DataGrid1.ApproxCount - 1 'DataGrid的所有行数For j = 0 To DataGrid1.Columns.Count - 1 'DataGrid所有的列数,若将此数改小到不拉DataGrid的垂直滚动条的时候能看见的行数的时候正常DataGrid1.Col = jxlSheet.Cells(i + 2, j + 1) = Adodc1.Recordset(j) 'DataGrid1.Text '从第二行显示'DataGrid的内容,这里修改成这样也可以DataGrid1.Columns.Item(j).TextNextIf i < DataGrid1.ApproxCount - 1 ThenDataGrid1.Row = DataGrid1.Row + 1End IfNextMe.MousePointer = 0MsgBox "导出成功!"xlApp.Visible = TrueSet xlApp = Nothing 'Excel 处于当前窗体Set xlBook = NothingSet xlSheet = Nothing
最终应用的方法,这样比较迅速导出,直接导出Adodc,还是从数据根源导出好一点。
Private Sub SaveEXCEL_Click()Dim i As Long, j As LongDim xlsApp As Excel.ApplicationDim xlsBook As Excel.WorkbookSet xlsApp = New Excel.ApplicationSet xlsApp = CreateObject("Excel.Application")xlsApp.Visible = TruexlsApp.Workbooks.Add'Set xlsBook = xlsApp.Workbooks.Open(App.Path & "\filename.xls") xlsApp.Sheets("sheet1").SelectxlsApp.Cells(1, 1) = "序号"xlsApp.Cells(1, 2) = "办公用品名称"xlsApp.Cells(1, 3) = "一级分类名称"xlsApp.Cells(1, 4) = "二级分类名称"xlsApp.Cells(1, 5) = "型号"xlsApp.Cells(1, 6) = "库存数量"xlsApp.Cells(1, 7) = "库存下限"xlsApp.Cells(1, 8) = "备注"xlsApp.ActiveSheet.Range("A2").CopyFromRecordset Adodc1.RecordsetIf xlsApp.ActiveWorkbook.Saved = False ThenxlsApp.ActiveWorkbook.SaveAs App.Path & "\当前库存.xls"End If'xlsApp.QuitSet xlsApp = NothingEnd Sub
办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL相关推荐
- 若依管理系统源码分析-导出Excel时怎样通过注解中readConverterExp实现格式化导出列的显示格式(0和1格式化为是否)
场景 在数据库中存储某些个是否的字段时,有时会使用tinint进行存储 这样会在实体类中生成布尔类型的变量 private Boolean sfkt; 有时也会用int进行存储是否 那么在实体类中就可 ...
- 办公用品管理系统VB——模块
'DbFunc.bas'== 标记数据库是否连接 == Private IsConnect As Boolean '== 标记执行Connect()函数后,访问数据库的次数 == Private Co ...
- 前端页面导出excel文件功能(导出)
方法一: 一.后台管理系统中常有导出excel功能,可定义一个函数,在其他.vue文件中导入即可用. 1.1定义函数 export function excelDown(res, name = &qu ...
- vb/java/c# 生成code128 条码/QR Code二维码 导出excel
java/c#生成条形码/二维码图片,导出excel 会用到POI/NPOI,BarcodeLib.ZXing插件. code128 如果不使用插件,也可使用下面vb/c#代码生成含有校验的条码文本, ...
- 用wxpython 制作出入库 进销存 ERP 仓库管理系统 可导出Excel
借鉴 crazeblade 开发 新增查询库存 登录页面 类别 物品出入库 流水账 报表功能 导出Excel 新增物品库存查询 学习交流QQ 1270879157
- WCF医院管理系统技术解析(十一)医生体检收入查询(带一定判断的导出Excel)
WCF医院管理系统技术解析(十一)医生体检收入查询(带一定判断的导出Excel) 医院支持对各个科室的体检收入,同时也可以查询到每个体检科室收入的审核医生.效果如图所示: 界面用到的控件有: 控件 说 ...
- vb.net datagridview控件导出excel
导出数据的时候,经常需要将软件中的表格导出为excel,学习vb的时候用到了这个功能,当时用的是面向过程的编程方法,哪里需要了,就在哪个窗体写一遍代码.这次,我们使用面向对象的思维再次实现这个功能.对 ...
- vb 读取oracle中的表格数据,如何将数据库信息读取导出excel表格中-VB 从SQL数据库中把数据导出到Excel表格中,怎么写?...
VB 从SQL数据库中把数据导出到Excel表格中,怎么写? INSERT INTO OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Data Source=&q ...
- 后台管理系统导出Excel表格的方法
//导出Excel公共方法function excelExport(colums,queryParams,objectName,baseUrl,sysUrl,body,title){if(colums ...
- 动态数量列导出Excel文件
POM文件添加 <!--hutool工具包--><dependency><groupId>cn.hutool</groupId><artifact ...
最新文章
- POJ 3784.Running Median
- Java程序员从笨鸟到菜鸟之(七十二)细谈Spring(四)利用注解实现spring基本配置详解
- 青果灵动刘睿:3D页游将有更多机会
- 【T-SQL系列】新的排序函数
- 用git提交代码到远程仓库遇到的问题
- android 的几个黄色警告解决办法(转)
- 如何关闭dell inspiron n4010的内置麦克
- python贪心算法几个经典例子_闲来无事整一下贪心算法 用python实现的
- 计算机显示u盘隐藏分区,Win10下U盘多分区启动盘被显示怎么隐藏方法
- 西南科技大学OJ题 顺序栈基本操作的实现1044
- 迅雷修改tracker服务器,qBittorrent 添加自定义 Tracker 的方法
- 货币代码php,PHP货币换算程序代码_PHP教程
- storm 阿姆歌曲_Eminem经典歌词
- fflush(stdout)和fflush(stdin)
- 如何使用 群晖Docker 安装教程,运行智汀家庭云?
- IDEA修改运行内存
- windows 任务相关 删除任务
- 【CV】高被引行人重识别(Person Re-ID)综述论文
- 中国科学技术大学研究生细胞生物学II考试复习资料
- ie304报错解决方案