我会提取excel文档的内容。devexpress 13.2有可能吗?有人有什么建议吗?
提前感谢
查看DevExpress电子表格文档服务器(非可视化组件,通过其API提供完整的电子表格功能)。它允许开发人员创建、修改、保存和打印Excel文档,即使系统上没有安装Microsoft Excel或Microsoft Office。支持的文件格式-XLS,XLSX,XLSM,CSV和TXT;
示例:如何:将文档加载到工作簿
我在过去几天里导入了一个excel文件来更新SQL server表(使用DevExpress网格仅显示导入的数据)
我的例子,我:
- 向用户询问文件名(如果您已经知道文件名和路径)
- 在数据表中加载excel文件(不需要devexpress)
- 在DevExpress网格中显示数据表,然后
注意:在现实生活中,我只使用网格来查看/控制加载的数据
然后,我从数据表中加载的数据更新SQL服务器上现有的数据表(此处未包含代码)
注意:在本例中,工作表名称始终为"Sheet1"-也许您想使工作表名称也适用于您的场景。。。
注意:如果您只想将Excel文件导入DataTable(请参阅下面代码中的ImportTable=ReadExcelIntoDataTable(cFileName,"Sheet1")和函数ReadExcelInto DataTable()),则不需要DevExpress
' Chose the Excel-File over Open FileDialog()
' If you don't know the filename & path allready
Dim cFileName As String = ""
Dim filedialog As OpenFileDialog = New OpenFileDialog()
filedialog.Title = "Chose the File"
filedialog.DefaultExt = ".XLSX"
filedialog.ShowDialog()
cFileName = filedialog.FileName
'
If Not cFileName = "" Then
ImportTable = ReadExcelIntoDataTable(cFileName, "Sheet1")
If ImportTable.Rows.Count > 0 Then
Grid_Datenimport.DataSource = ImportTable
' Do some format (if you like)..
GridView2.Columns("ColumnX").DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime
GridView2.Columns("ColumnX").DisplayFormat.FormatString = "dd/MM/yyyy HH:mm:ss"
GridView2.Columns("ColumnX").Width = 160
End If
End If
Public Shared Function ReadExcelIntoDataTable(ByVal FileName As String, ByVal SheetName As String) As DataTable
Dim RetVal As New DataTable
Dim strConnString As String
strConnString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & FileName & ";"
Dim strSQL As String
strSQL = "SELECT * FROM [" & SheetName & "$]"
Dim y As New Odbc.OdbcDataAdapter(strSQL, strConnString)
y.Fill(RetVal)
Return RetVal
End Function