如何使用devexpress提取excel文档的内容

时间:2014-04-22 16:14:20

标签: excel devexpress office365

我会提取excel文档的内容。 devexpress 13.2可以实现吗?有没有人有任何建议?

提前多多感谢

2 个答案:

答案 0 :(得分:2)

查看DevExpress Spreadsheet Document Server(通过其API提供完整电子表格功能的非可视组件)。它允许开发人员创建,修改,保存和打印Excel文档,即使系统上未安装Microsoft Excel或Microsoft Office也是如此。支持的文件格式 - XLS,XLSX,XLSM,CSV和TXT;

示例:How to: Load a Document to a Workbook

答案 1 :(得分:0)

我已经完成了一个excel文件的导入,以便在最后几天更新SQL服务器表(仅使用DevExpress Grid来显示导入的数据)。
我的例子,我:

  1. 询问用户文件名(如果您已经知道,则不需要) 文件名和路径)
  2. 将excel文件加载到数据表中(不需要devexpress)
  3. 显示DevExpress Grid中的数据表
  4. 注意:在实际中,我只使用网格来查看/控制加载的数据 然后,我从数据表中加载的数据更新SQL服务器上的现有数据表(此处未包含的代码) 注意:在示例中,工作表名称始终为" Sheet1" - 也许你想让表格名称也为你的场景变化......

    注意:如果您只想将Excel文件导入DataTable(请参阅ImportTable = ReadExcelIntoDataTable(cFileName," Sheet1")和函数ReadExcelIntoDataTable,则不需要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