周一至周五 : 08:30 - 17:30 客服专员电话/微信:17301649370 QQ:2902102332
微信咨询

扫码微信咨询

关注公众号

关注微信公众号

电话: 021 5161 9370
返回顶部
VBA填报从Excel中导入数据
显示全部楼层 倒序浏览 发表日期 2026-09-11 09:35:16 29次阅读 0次回复
VBA填报从Excel中导入数据

版本:企业版
  1. Imports SpreadsheetGear
  2. Imports C1.Silverlight
  3. Imports C1.Silverlight.C1MessageBoxButton
  4. Imports C1.Silverlight.C1MessageBoxIcon
  5. Imports Newtonsoft.Json
  6. Imports Newtonsoft.Json.Linq
  7. Imports System.Windows.forms
  8. Namespace ExcelViewVBDotnet
  9.    Public Class StandardInterface
  10.        '预留位置1
  11.        '预留位置2
  12.        Dim EV As SpreadsheetGear.Windows.Controls.WorkbookView,AW As SpreadsheetGear.IWorkbook,Range As SpreadsheetGear.IRange
  13.         Dim CF As TextBox, VW As Object
  14.         Dim TS As StackPanel
  15.            Public Sub Workbook_Open(OldRoot As Object,NewRoot As Object,Excel As SpreadsheetGear.Windows.Controls.WorkbookView)
  16.            EV = Excel
  17.            Excel.GetLock()
  18.            AW = Excel.ActiveWorkbook
  19.            Range = AW.ActiveWorksheet.Range
  20.            Excel.ReleaseLock()
  21.                        
  22.                     CF = CType(OldRoot.Children(1), TextBox)
  23.             TS = CType(OldRoot.Children(5), StackPanel)

  24.             Dim BT1 As New Button
  25.             BT1.Name = "BT_DR"
  26.             BT1.Content = "导入EXCEL数据"
  27.             BT1.Margin = New Thickness(0, 2, 0, 2)
  28.             BT1.Padding = New Thickness(13, 3, 13, 3)
  29.             BT1.Style = CType(Application.Current.Resources("ButtonStyle3"), Style)
  30.             BT1.Foreground = CType(Application.Current.Resources("Foreground1"), System.Windows.Media.Brush)
  31.             AddHandler BT1.Click, Sub()
  32.                                       ActiveWorkbook.WorkbookSet.GetLock()
  33.                                       Dim dialog As New OpenFileDialog
  34.                                       dialog.Filter = "Excel2003文件(*.xls)|*.xls|Excel2007文件(*.xlsx)|*.xlsx|Excel2007启用宏文件(*.xlsm)|*.xlsm"
  35.                                       dialog.Multiselect = False
  36.                                       '实例化接口
  37.                                       Dim ns As IWorkbookSet = Factory.GetWorkbookSet(Globalization.CultureInfo.CurrentCulture)
  38.                                       Try
  39.                                           If dialog.ShowDialog() = True Then
  40.                                               ns.GetLock()
  41.                                               Dim nw As IWorkbook = ns.Workbooks.OpenFromStream(dialog.File.OpenRead)
  42.                                               Dim nr As IRange = nw.ActiveWorksheet.Range
  43.                                               ActiveWorkbook.ActiveWorksheet.WorkbookSet.GetLock()
  44.                                               Range("C5:I2000").Value = nr("A2:G2000").Value
  45.                                               ActiveWorkbook.ActiveWorksheet.WorkbookSet.ReleaseLock()
  46.                                               ns.ReleaseLock()
  47.                                               nw.Close()
  48.                                               ns = Nothing
  49.                                           End If
  50.                                       Catch ex As Exception
  51.                                           ns.ReleaseLock()
  52.                                           C1MessageBox.Show("文件无法打开,请检查是否被占用或者损坏!", "提示", OK, Information)
  53.                                           'MessageBox.Show(ex.Message)
  54.                                       End Try
  55.                                       ActiveWorkbook.WorkbookSet.ReleaseLock()
  56.                                   End Sub
  57.             TS.Children.Insert(18, BT1)

  58.             '位置:2保存3新增4提交5退回6进度7打印8预览9导出10捕获11上传图片12上传附件13插入行14插多行15删除行16查找17最后
  59.        End Sub'打开时执行事件

  60.        Public Sub RangeSelection(sender As Object,e As SpreadsheetGear.Windows.Controls.RangeSelectionChangedEventArgs)

  61.        End Sub'单元格选择后执行的事件

  62.        Public Sub RangeChanged(sender As Object,e As SpreadsheetGear.Windows.Controls.RangeChangedEventArgs)

  63.        End Sub'单元格编辑完成后执行事件

  64.        Public Sub ButtunClick(sender As Object,e As SpreadsheetGear.Windows.Controls.ShapeActionEventArgs)

  65.        End Sub'按钮/标签点击事件

  66.        Public Sub FollowHyperlink(sender As Object)

  67.        End Sub '暂不支持

  68.    End Class
  69. '  注:除事件字眼下可以自定义代码外的所有代码不允许改动,否则编译将有可能失败。
  70. End Namespace
复制代码


QQ2627049059
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  允许回帖邮件提醒楼主

快表软件是国内较早研究表格类软件开发平台的团队之一,迄今已有十多年的行业经验.致力于为企事业单位提供实用可靠的数字化平台。
  • 微信公众号

  • 微信小商店

  • 微信客服

  • Powered by Discuz! X3.4 | Copyright © 2022-2024, XiRong Soft. | 快表软件
  • 沪ICP备13033196号 | 营业执照 |上海西戎软件科技有限公司|沪公网安备31011502002146号|沪ICP备13033196号 |