我在读excel的时候文本类型的表格就能读出数据
如果是常规类型的表格输入是数字就读不出数据,
这是为什么啊?
怎么才能不改excel的单元格类型读出数字啊
代码为
DataTable dt_ExcelTable = new DataTable();
try
{
m_Group_id=GetGroupFormFilename(PathName);
string sConnectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source="+PathName+";Extended Properties=Excel 8.0;";
System.Data.OleDb.OleDbConnection objConn = new System.Data.OleDb.OleDbConnection(sConnectionstring);
objConn.Open();
System.Data.OleDb.OleDbCommand objCmdSelect = new System.Data.OleDb.OleDbCommand("SELECT * FROM ["+TableName+"$]", objConn);
System.Data.OleDb.OleDbDataAdapter objAdapter = new System.Data.OleDb.OleDbDataAdapter();
objAdapter.SelectCommand = objCmdSelect;
DataSet ds_Excel = new DataSet();
objAdapter.Fill(ds_Excel, "XLData");
dt_ExcelTable = ds_Excel.Tables[0];
//dt_ExcelTable为原始excel表信息 objConn.Close();
}
catch(Exception ex)
{
dt_ExcelTable=null;
}
string year_month=dt_ExcelTable.Rows[2]["f2"].ToString();
为什么我读别的字段能读出来就这个不行
如果是常规类型的表格输入是数字就读不出数据,
这是为什么啊?
怎么才能不改excel的单元格类型读出数字啊
代码为
DataTable dt_ExcelTable = new DataTable();
try
{
m_Group_id=GetGroupFormFilename(PathName);
string sConnectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source="+PathName+";Extended Properties=Excel 8.0;";
System.Data.OleDb.OleDbConnection objConn = new System.Data.OleDb.OleDbConnection(sConnectionstring);
objConn.Open();
System.Data.OleDb.OleDbCommand objCmdSelect = new System.Data.OleDb.OleDbCommand("SELECT * FROM ["+TableName+"$]", objConn);
System.Data.OleDb.OleDbDataAdapter objAdapter = new System.Data.OleDb.OleDbDataAdapter();
objAdapter.SelectCommand = objCmdSelect;
DataSet ds_Excel = new DataSet();
objAdapter.Fill(ds_Excel, "XLData");
dt_ExcelTable = ds_Excel.Tables[0];
//dt_ExcelTable为原始excel表信息 objConn.Close();
}
catch(Exception ex)
{
dt_ExcelTable=null;
}
string year_month=dt_ExcelTable.Rows[2]["f2"].ToString();
为什么我读别的字段能读出来就这个不行
这里面有值么???
是数字
标题是文本的旧不行
应该是
dt_ExcelTable.Rows[0]["f2"].ToString()==“大胆地”
dt_ExcelTable.Rows[1]["f2"].ToString()==“1”