我想使用.NET从Excel文件中获取数据正在使用Excel文件,因此我无法打开它.我所做的是使用OleDB将其作为数据源连接到它.
问题是我得到了一个单元格的数据而不是它的样式.Excel中的日期值更改为.NET中的日期时间格式,Excel中设置为货币的单元格在.NET中显示为整数.使用OleDB从Excel导出数据时,您不知道单元格是否包含日期,货币等.例如,如果单元格设置为文本并包含从零开始的五位数字,则您将获得四位数字.
我正在寻找一种获取数据的方法,如果您在Excel中查看数据时会出现这种情况.
使用.NET 3.5和Excel 2007.
为了找出列的数据类型,您必须使用FillSchema方法:
OleDbConnection conn = new OleDbConnection(...);
conn.Open();
DataSet dataSet = new DataSet();
OleDbDataAdapter dataAdapter = new OleDbDataAdapter("SELECT * FROM <table>", conn);
dataAdapter.FillSchema(dataSet, SchemaType.Source);
dataAdapter.Fill(dataSet);
//Now you can access the data type like this
dataSet.Tables[0].Columns[0].DataType
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4056 次 |
| 最近记录: |