使用oledb从Excel读取整数

我正在使用oledb从excel文件读取数据并将其存储在数据集中。 我的excel文件内容如下:

0 0 somestring somestring 500 200 somestring somestring 

当我检查我的数据集的内容时,列1和2的值不存储为整数,而是作为date时间值。

我将如何将它存储为整数值而不是date时间?

您是否尝试添加IMEX = 1到您的OLEDB连接string?

你确定它的号码? 以下可能是几个选项:

  1. 右键单击Excel中的列,并将格式更改为文本/自定义。
  2. 看看NamedRange.FormatConditions属性; 从Excel中读取数据时更改数据格式,请参阅MSDN
  3. 或者尝试删除范围内的现有格式:

那是,

 Excel.Worksheet sheet = this.Application.ActiveSheet as Excel.Worksheet; Excel.Range range = sheet.get_Range("A1", "A5") as Excel.Range; //delete previous validation rules range.Validation.Delete(); 

你可以使用像SpreadsheetGear for .NET这样的第三方组件,它可以让你获得单元格的底层值(与IWorkbook.Worksheets [“MySheet”] .Cells [rowIndex,colIndex] .Value)无关,或者你可以用IRange.Text获得格式化的结果。

你可以在这里看到活的ASP.NET示例,并在这里下载免费试用版。

免责声明:我赢得了SpreadsheetGear LLC