C# insert 语句向Excel插入数据出现空行
stringConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+filePath+";Exte...
string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=no;IMEX=0'";
OleDbConnection oledCon = new OleDbConnection(ConnectionString);
OleDbCommand oledCom = new OleDbCommand("", oledCon);
oledCon.Open();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
string strInsert = ……;
oledCom.CommandText = strInsert;
oledCom.ExecuteNonQuery()
}
oledCon.Close(); 展开
OleDbConnection oledCon = new OleDbConnection(ConnectionString);
OleDbCommand oledCom = new OleDbCommand("", oledCon);
oledCon.Open();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
string strInsert = ……;
oledCom.CommandText = strInsert;
oledCom.ExecuteNonQuery()
}
oledCon.Close(); 展开
展开全部
你需要事先调试弄清楚是Gridview中本来就有空行引起的还是因为错误的插入字符串引起的。
除去数据表中的空行的方法
DataTable dt = ds.Tables[0];
for (int i = 0; i < dt.Rows.Count; i++)
{
if (string.IsNullOrEmpty(dt.Rows[i][0].ToString().Trim()))
{
dt.Rows.Remove(dt.Rows[i]);
i--;
}
}
return dt;
rows.count会随着删除row而减小
清楚gridview中空行的原理是一样的
除去数据表中的空行的方法
DataTable dt = ds.Tables[0];
for (int i = 0; i < dt.Rows.Count; i++)
{
if (string.IsNullOrEmpty(dt.Rows[i][0].ToString().Trim()))
{
dt.Rows.Remove(dt.Rows[i]);
i--;
}
}
return dt;
rows.count会随着删除row而减小
清楚gridview中空行的原理是一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码中加判定,去除空行即可。可以试试在foreach循环中加判定。
建议先将数据填入DataSet,再导入excel,代码的可复用性也能提高。
建议先将数据填入DataSet,再导入excel,代码的可复用性也能提高。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-23
展开全部
可以的话,把工程发到邮箱xiang.19880429@163.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询