使用oledb从Excel读取整数

时间:2009-12-11 08:36:28

标签: c# excel

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

0    0    somestring somestring
500  200  somestring somestring

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

如何将其存储为整数值而不是DateTime?

3 个答案:

答案 0 :(得分:4)

您是否尝试将IMEX = 1添加到OLEDB连接字符串?

答案 1 :(得分:0)

你确定它的号码吗?以下可能是一些选择:

  1. 右键单击excel中的列并将格式更改为“文本/自定义”。
  2. 查看NamedRange.FormatConditions属性;从excel读取数据时更改数据的格式,请参阅MSDN
  3. 或尝试删除范围内的现有格式:
  4. 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();
    

答案 2 :(得分:0)

您可以使用像SpreadsheetGear for .NET这样的第三方组件,它可以让您获取单元格的基础值(使用IWorkbook.Worksheets [“MySheet”]。单元格[rowIndex,colIndex] .Value),无论单元格格式如何,或者您可以使用IRange.Text获取格式化结果。

您可以查看实时ASP.NET示例here并下载免费试用版here

免责声明:我赢得了SpreadsheetGear LLC