办公用品管理系统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相关推荐

  1. 若依管理系统源码分析-导出Excel时怎样通过注解中readConverterExp实现格式化导出列的显示格式(0和1格式化为是否)

    场景 在数据库中存储某些个是否的字段时,有时会使用tinint进行存储 这样会在实体类中生成布尔类型的变量 private Boolean sfkt; 有时也会用int进行存储是否 那么在实体类中就可 ...

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

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

  3. 前端页面导出excel文件功能(导出)

    方法一: 一.后台管理系统中常有导出excel功能,可定义一个函数,在其他.vue文件中导入即可用. 1.1定义函数 export function excelDown(res, name = &qu ...

  4. vb/java/c# 生成code128 条码/QR Code二维码 导出excel

    java/c#生成条形码/二维码图片,导出excel 会用到POI/NPOI,BarcodeLib.ZXing插件. code128 如果不使用插件,也可使用下面vb/c#代码生成含有校验的条码文本, ...

  5. 用wxpython 制作出入库 进销存 ERP 仓库管理系统 可导出Excel

    借鉴 crazeblade 开发 新增查询库存 登录页面 类别 物品出入库 流水账 报表功能 导出Excel 新增物品库存查询 学习交流QQ 1270879157

  6. WCF医院管理系统技术解析(十一)医生体检收入查询(带一定判断的导出Excel)

    WCF医院管理系统技术解析(十一)医生体检收入查询(带一定判断的导出Excel) 医院支持对各个科室的体检收入,同时也可以查询到每个体检科室收入的审核医生.效果如图所示: 界面用到的控件有: 控件 说 ...

  7. vb.net datagridview控件导出excel

    导出数据的时候,经常需要将软件中的表格导出为excel,学习vb的时候用到了这个功能,当时用的是面向过程的编程方法,哪里需要了,就在哪个窗体写一遍代码.这次,我们使用面向对象的思维再次实现这个功能.对 ...

  8. vb 读取oracle中的表格数据,如何将数据库信息读取导出excel表格中-VB 从SQL数据库中把数据导出到Excel表格中,怎么写?...

    VB 从SQL数据库中把数据导出到Excel表格中,怎么写? INSERT INTO OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Data Source=&q ...

  9. 后台管理系统导出Excel表格的方法

    //导出Excel公共方法function excelExport(colums,queryParams,objectName,baseUrl,sysUrl,body,title){if(colums ...

  10. 动态数量列导出Excel文件

    POM文件添加 <!--hutool工具包--><dependency><groupId>cn.hutool</groupId><artifact ...

最新文章

  1. POJ 3784.Running Median
  2. Java程序员从笨鸟到菜鸟之(七十二)细谈Spring(四)利用注解实现spring基本配置详解
  3. 青果灵动刘睿:3D页游将有更多机会
  4. 【T-SQL系列】新的排序函数
  5. 用git提交代码到远程仓库遇到的问题
  6. android 的几个黄色警告解决办法(转)
  7. 如何关闭dell inspiron n4010的内置麦克
  8. python贪心算法几个经典例子_闲来无事整一下贪心算法 用python实现的
  9. 计算机显示u盘隐藏分区,Win10下U盘多分区启动盘被显示怎么隐藏方法
  10. 西南科技大学OJ题 顺序栈基本操作的实现1044
  11. 迅雷修改tracker服务器,qBittorrent 添加自定义 Tracker 的方法
  12. 货币代码php,PHP货币换算程序代码_PHP教程
  13. storm 阿姆歌曲_Eminem经典歌词
  14. fflush(stdout)和fflush(stdin)
  15. 如何使用 群晖Docker 安装教程,运行智汀家庭云?
  16. IDEA修改运行内存
  17. windows 任务相关 删除任务
  18. 【CV】高被引行人重识别(Person Re-ID)综述论文
  19. 中国科学技术大学研究生细胞生物学II考试复习资料
  20. ie304报错解决方案

热门文章

  1. 当当网上书店头部和尾部——JS源码
  2. 网上书店管理系统mysql代码_网上书店管理系统数据库 sql sever
  3. 联想启天M4350恢复BIOS密码
  4. Java的LocalDateTime与mysq的datatime数据类型匹配不了
  5. Tesseract-OCR识别 学习(一)命令识别
  6. BAAF-Net源码阅读
  7. 补码乘法、booth算法、Wallace树
  8. 大米产品体验师活动火热进行!感谢客户最真实的心声
  9. 基于端口号的虚拟主机
  10. Python爆破RAR密码