Tor*_*gen 14 .net oledb excel oledbconnection
我正在使用OleDbConnection类从Excel 2000/2003工作簿中检索数据:
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
                          "Data Source=" + filename + ";" +
                          "Extended Properties=\"Excel 8.0;IMEX=1\";";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
// code to get table name from schema omitted
var dataAdapter = new OleDbDataAdapter(string.Format("SELECT * FROM [{0}]", name),connection);
var myDataSet = new DataSet();
dataAdapter.Fill(myDataSet, "ExcelInfo");
现在结果表明,工作表中长度大于255个字符的单元格正在被截断.这是Microsoft.Jet.OLEDB提供程序中的限制,还是我可以做些什么呢?
任何人?
rmo*_*ore 19
excel的OLEDB提供程序将尝试根据前8行数据自动确定DataTypes,这可以使用连接字符串中的HDR = Yes/No属性进行设置.此外,它可以应用于文本列的多种类型.备注类型包含超过255个字符,因此如果前8行中没有一个具有该字符,则它将错误地设置数据类型.
更改此方法的方法是更改名为TypeGuessRows的注册表设置,如下所述:Microsoft支持
注意:TypeGuessRows键的有效值范围是0到16.但是,如果值为0,则扫描的源行数为16384.因此,如果您有一个非常大的文件,请确保最大的行是第一个.
| 归档时间: | 
 | 
| 查看次数: | 17446 次 | 
| 最近记录: |