winform导入Excel的时候,如果Excel中有一行,或者多行是空的。怎么把空行删除掉呢?下面是小弟自己弄的,不过只能删除一行空行,如果在一起的空行多了就行不通了。我要把所有的空行都删除,怎么弄,大家帮帮看看!!!//先用oleDB把Excel数据读取存放到一个DataTable中
DataTable dataTable = xlsData(txtPath.Text.Trim()).Tables[0];
//循环遍历DataTabel
for (int i = 1; i < dataTable.Rows.Count; i++)
{
//如果DataTable出现一整行为空,则删除这一行
if (dt.Rows[i][0].ToString() == "" && dt.Rows[i][1].ToString() == ""
&& dt.Rows[i][2].ToString () == "" && dt.Rows[i][3].ToString() == ""
&& dt.Rows[i][4].ToString() == "" && dt.Rows[i][5].ToString() == ""
&& dt.Rows[i][6].ToString() == "" && dt.Rows[i][7].ToString() == ""
&& dt.Rows[i][8].ToString() == "")
{
dt.Rows.Remove(dt.Rows[i]);
}
}
DataTable dataTable = xlsData(txtPath.Text.Trim()).Tables[0];
//循环遍历DataTabel
for (int i = 1; i < dataTable.Rows.Count; i++)
{
//如果DataTable出现一整行为空,则删除这一行
if (dt.Rows[i][0].ToString() == "" && dt.Rows[i][1].ToString() == ""
&& dt.Rows[i][2].ToString () == "" && dt.Rows[i][3].ToString() == ""
&& dt.Rows[i][4].ToString() == "" && dt.Rows[i][5].ToString() == ""
&& dt.Rows[i][6].ToString() == "" && dt.Rows[i][7].ToString() == ""
&& dt.Rows[i][8].ToString() == "")
{
dt.Rows.Remove(dt.Rows[i]);
}
}
解决方案 »
- Dotnet编译
- 页面嵌入exe文件,怎样控制嵌入文件窗体的缩放比例?
- TabPage的问题
- C# 中的 treeView怎样设置他只能有一个节点被check吖 从网上找了都没有适合C#的啊,急
- C#Barcode问题
- 高分简单问题:如何给控件(比如FLASHOCX,IE控件)增加鼠标事件?
- (SOS)如何实现穿越防火墙传输文件?
- 请问有没有可重复列名的datagrid控件
- MessageBoxButtons.OK按钮默认为“确定” 怎样改为其它的。例如 继续 等等
- 好麻烦啊!DATAGRID 重载过的 ,有combo 的,但是为什么load后,反应特别慢?
- datagridview 筛选后重新加载问题
- C# WinForm中怎么设置窗体不可以拉大和拖动,不可以拖动窗体的位置,让他固定不动啊?
if(rngCell.Value2==null)
{
//不读取
}
参考资料:
使用 Visual Studio 2005 Tools for Office (VSTO)开发C# Excel 程序
这样DATATABLE 中就不会有空行了
{
DataRow r = dt2.NewRow(); foreach (DataColumn Column in dt1.Columns)
{
//MessageBox.Show(dt2.Columns[Column.ColumnName].DataType.ToString());
if (Column != null)//非空
{
if (copyRow[Column.ColumnName] != DBNull.Value)
{
r[Column.ColumnName] = copyRow[Column.ColumnName];
}
else
{
switch(dt2.Columns[Column.ColumnName].DataType.ToString())
}
}
}