现在有一excel文件,里面有用户自制的表格以及图片,后面是正规的数据,我如何越过表格和图片,直接将后面的数据读取到dataset里?
下面是我的部分代码,请各位指点下?
public void ReadExceldata()
{
try
{
string fileNameString = "";
//申明打开对话框
OpenFileDialog dlg = new OpenFileDialog();
//默然路径是系统当前路径
dlg.InitialDirectory = System.IO.Directory.GetCurrentDirectory();
if (dlg.ShowDialog() == DialogResult.OK)
{
//返回文件路径
fileNameString = dlg.FileName;
//验证strFileName是否为空或值无效
if (fileNameString.Trim() == " ")
{ return; } string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + fileNameString + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection myConn = new OleDbConnection(strCon);
// string strCom = " SELECT 厚度值,X坐标,Y坐标,厚度值1,X坐标1,Y坐标1,厚度值2,X坐标2,Y坐标2 FROM [原始$] ";
string strCom = " SELECT * FROM [原始$] ";
myConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
int i = 0;
myDataSet =new DataSet();
double tempt = 0;
//double t=0;
myCommand.Fill(myDataSet, 37, 450, "[原始$]");
//myCommand.Fill(myDataSet, "[原始$]");
for (i = 0; i < myDataSet.Tables[0].Rows.Count; i++)
{
for (int j = 0; j <= 6; j += 3)
{
tempt = (double)myDataSet.Tables[0].Rows[i][j];
t = t + tempt;
} }
avgt = t / (3 * (i+1)); MessageBox.Show(avgt.ToString().Substring(0, 4));
myConn.Close();
//**********************************************
}
}
catch (Exception emm)
{
// MessageBox.Show(emm.ToString());
MessageBox.Show("请选择正确格式的壁厚数据");
}
finally
{
}
}
下面是我的部分代码,请各位指点下?
public void ReadExceldata()
{
try
{
string fileNameString = "";
//申明打开对话框
OpenFileDialog dlg = new OpenFileDialog();
//默然路径是系统当前路径
dlg.InitialDirectory = System.IO.Directory.GetCurrentDirectory();
if (dlg.ShowDialog() == DialogResult.OK)
{
//返回文件路径
fileNameString = dlg.FileName;
//验证strFileName是否为空或值无效
if (fileNameString.Trim() == " ")
{ return; } string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + fileNameString + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection myConn = new OleDbConnection(strCon);
// string strCom = " SELECT 厚度值,X坐标,Y坐标,厚度值1,X坐标1,Y坐标1,厚度值2,X坐标2,Y坐标2 FROM [原始$] ";
string strCom = " SELECT * FROM [原始$] ";
myConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
int i = 0;
myDataSet =new DataSet();
double tempt = 0;
//double t=0;
myCommand.Fill(myDataSet, 37, 450, "[原始$]");
//myCommand.Fill(myDataSet, "[原始$]");
for (i = 0; i < myDataSet.Tables[0].Rows.Count; i++)
{
for (int j = 0; j <= 6; j += 3)
{
tempt = (double)myDataSet.Tables[0].Rows[i][j];
t = t + tempt;
} }
avgt = t / (3 * (i+1)); MessageBox.Show(avgt.ToString().Substring(0, 4));
myConn.Close();
//**********************************************
}
}
catch (Exception emm)
{
// MessageBox.Show(emm.ToString());
MessageBox.Show("请选择正确格式的壁厚数据");
}
finally
{
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货