方案一:只加载指定行数数据到指定表。
这个要等下个版本,通过ExcelHelp.LoadExcelData方法可以实现。
- /// <summary>
- /// 将Excel指定Sheet表中的数据加载一部分数据以供表格显示。
- /// </summary>
- /// <param name="SheetName">要展示的Excel表名称</param>
- /// <param name="SheetFilePath">Excel文件的完整路径</param>
- /// <param name="showGrid">Excel表格数据最终要展示到哪个SmGrid对象中</param>
- /// <param name="LoadRows">要加载Excel表中的多少行数据。默认只加载前20行,可以自行指定加载数据行数。</param>
- public static void LoadExcelData(string SheetName, string SheetFilePath, SmGrid showGrid, int LoadRows = 20)
复制代码
方案二:直接动态创建Excel控件,然后加载整个Excel文档
可以参考下面的窗体模板,创建一个自定义窗体,语言选择Vb,然后导入此窗体模板即可。
- Namespace FormEvents
- Public Class Form510d929ae6be43ccb185eba3350e5a1d
- Inherits FormEventsBase
- Dim _excel As DevExpress.XtraSpreadsheet.SpreadsheetControl
- Public Sub btnAddControl_Click(sender As Object,e As System.EventArgs)
- '获得SplitContainer控件的访问
- Dim SplitContainer1 As System.Windows.Forms.SplitContainer=Me.SmForm.ControlDictionary()("SplitContainer1")
- '先定义一个控件
- Dim excel As New DevExpress.XtraSpreadsheet.SpreadsheetControl
- '设置控件的Dock停靠属性
- excel.Dock=DockStyle.Fill
- '将Excel控件添加到SplitContainer控件的Panel2中去
- SplitContainer1.Panel2.Controls.Add(excel)
- _excel=excel
- End Sub
-
- Public Sub btnOpenExcel_Click(sender As Object,e As System.EventArgs)
- If _excel IsNot Nothing Then
- Dim dlg As New OpenFileDialog() '定义一个新的OpenFileDialog
- dlg.Multiselect=False '设置成单文件选取
- dlg.Filter= "Excel文件|*.xls;*.xlsx;*.xls*" '设置筛选器
- If dlg.ShowDialog() = DialogResult.Ok Then
- _excel.LoadDocument(dlg.FileName)
- End If
- End If
- End Sub
-
- End Class
- End Namespace
复制代码
|