2010-09-23 6 views
0

Я использую syncfusion для импорта excel для datattable.when datat импортируется в datatable, столбцы все строки. Как преобразовать эти столбцы в определенный тип данных? Как я могу проверить тип данных столбца?Импорт Excel в datatable

using Syncfusion.XlsIO; 

private void btnImport_Click(object sender, EventArgs e) 
     { 
      ImportExcelFile(); 
     } 
private void ImportExcelFile() 
     { 
      try 
      { 
       string strFileName = ""; 
       OpenFileDialog openFileDialog = new OpenFileDialog(); 

       openFileDialog.Filter = "Files (*.xls)|*.xls|(*.xlsm)|*.xlsm"; 
       openFileDialog.DefaultExt = ".xls"; 
       if (openFileDialog.ShowDialog() == DialogResult.OK) 
       { 
        strFileName = openFileDialog.FileName; 
        #region Get Correct Worksheet in excel file 
        DateTime dtStart = DateTime.Now; 
        ExcelEngine excelEngine = new ExcelEngine(); 
        IApplication application = excelEngine.Excel; 
        IWorkbook workbook = application.Workbooks.Open(strFileName); 
        IWorksheet sheet = workbook.Worksheets[0]; 
        #endregion     


        DataTable dt = sheet.ExportDataTable(sheet.UsedRange, ExcelExportDataTableOptions.ColumnNames); 

        dgIDCImport.GridDataSource(dt,ucGrid.GridTypes.IDCImport); 

        //Close the workbook. 
        workbook.Close(); 

        //No exception will be thrown if there are unsaved workbooks. 
        excelEngine.ThrowNotSavedOnDestroy = false; 
        excelEngine.Dispose(); 



       } 
      } 

      catch (Exception err) 
      { 
       base.DisplayError(err); 
      } 
     } 

ответ

0

Вместо имен столбцов используйте DetectColumnTypes, как показано ниже.

ExcelExportDataTableOptions.DetectColumnTypes 

НТН

+0

мы используем следующую версию 4.102.0.58 и DetectColumnTypes не добавил в этом version.Is есть NAY другой способ сделать это? – xrx215

+0

Ho. Я боюсь. Попробуйте проверить их. Я использовал самую последнюю версию своего продукта. Итак, нет подсказки! –

Смежные вопросы