
正文
包含vb.netdgv的词条
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB.net 2005打开EXCEL导入DataGridView显示并保存数据
这里是一个按钮 导入Excel数据到 数据库,刷新datagridview。
//导入Excel数据
private void tsBtnCopy_Click(object sender, EventArgs e)
{
DialogResult dresult = this.openFileDialog1.ShowDialog();
if (dresult == DialogResult.OK)
{
string filepath = openFileDialog1.FileName;
if (filepath == "")
{
MessageBox.Show("请选择要导入的Excel文档!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
try
{
DataSet ds = new DataSet();
//取得数据集
//调用下面的函数
ds = xsldata(filepath);
//dataGridView2.DataSource = ds.Tables[0];
int errorcount = 0;//记录错误信息条数
int updatecount = 0;//更新信息条数
int insertcount = 0;//记录插入成功条数
string mess = "";
for (int i = 0; i ds.Tables[0].Rows.Count; i++)
{
StudentsModel stuModel = new StudentsModel();
stuModel.StuID = Guid.NewGuid().ToString();
stuModel.CenterID = CentersManager.manager.GetList("").Tables[0].Rows[0]["CenterID"].ToString();
stuModel.StuName = ds.Tables[0].Rows[i][0].ToString();
stuModel.Sex = ds.Tables[0].Rows[i][1].ToString();
stuModel.School = ds.Tables[0].Rows[i][2].ToString();
stuModel.Grade = ds.Tables[0].Rows[i][3].ToString();
stuModel.LinkWay = ds.Tables[0].Rows[i][4].ToString();
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[i][5].ToString()))
{
try
{
stuModel.BirthDay = Convert.ToDateTime(ds.Tables[0].Rows[i][5].ToString());
}
catch
{
mess+="第" + (i + 1) + "条数据生日格式不正确!\n";
}
}
stuModel.ParentName = ds.Tables[0].Rows[i][6].ToString();
stuModel.ParentLink = ds.Tables[0].Rows[i][7].ToString();
stuModel.Desc = ds.Tables[0].Rows[i][8].ToString();
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[i][9].ToString()))
{
try
{
stuModel.CreateTime = Convert.ToDateTime(ds.Tables[0].Rows[i][9].ToString());
}
catch
{
mess+="第" + (i + 1) + "条数据注册时间格式不正确!\n";
}
}
stuModel.EndEditTime = DateTime.Now.Date;
DataTable stuTable = StudentsManager.manager.GetList(" StuName='" + stuModel.StuName + "' and ParentName='" + stuModel.ParentName + "' and ParentLink='"+stuModel.ParentLink+"' ").Tables[0];
if (stuTable.Rows.Count == 1)
{
string id = stuTable.Rows[0]["StuID"].ToString();
stuModel.StuID = id;
bool updateResult = StudentsManager.manager.Update(stuModel);
if (updateResult)
updatecount++;
else
errorcount++;
}
else
{
bool result = StudentsManager.manager.Add(stuModel);
if (result)
insertcount++;
else
errorcount++;
}
}
MessageBox.Show(insertcount + "条数据导入成功!"+updatecount+"条数据更新成功!\n\n" +mess+"出错数据导入为空!") ;
Binddgv();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
private DataSet xsldata(string filepath)
{
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;IMEX=1'";
System.Data.OleDb.OleDbConnection Conn = new System.Data.OleDb.OleDbConnection(strCon);
string strCom = "SELECT * FROM [Sheet1$]";
Conn.Open();
System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, Conn);
DataSet ds = new DataSet();
myCommand.Fill(ds, "[Sheet1$]");
Conn.Close();
return ds;
}
相关问答
Q1: vb.net的DataGridView数据绑定
在配置文件app.config中加入
appSettings
add key="LotDBConnection" value="DATA SOURCE=数据库连接;PASSWORD=密码;PERSIST SECURITY INFO=True;USER ID=登录名"/
/appSettings
//m_SqlPath 存放SQL语句的XML文件
Dim sqlHelper As New SQLHelper("LotDBConnection")
Dim sqlRead As New ResourceHelper
Dim ht As New Hashtable
Dim strSQL As String
Try
'设置SQL文参数
ht.Clear()
ht.Add(ColumnName.USER_ID.ToString, Trim(Me.txtUserID.Text))
ht.Add(ColumnName.USER_NAME.ToString, Trim(Me.txtUserName.Text))
'数据查询
strSQL = sqlRead.GetSQLSentence("GetUserList", m_SqlPath, ht)
ds = sqlHelper.ExecuteDataSet(strSQL)
If ds.Tables(0).Rows.Count = 0 Then
MessageBox .Show ("数据不存在");
Else
'数据绑定
dgvUserMeisai.DataSource = ds.Tables(0)
End If
Catch ex As Exception
MessageBox .Show (ex.Message );
Finally
sqlHelper = Nothing
sqlRead = Nothing
ht = Nothing
End Try
Q2: 为什么 VB.NET中DataGridView控件显示不出来绑定的数据呢?
请确定你究竟是不是在使用VB.NET。看你的
代码
,是在使用VB。VB中不建议使用ADO的,而是使用ADO.NET,我给你
伪代码
,你自己可以考虑一下: SqlDataAdapter
adapter
=
new
SqlDataAdapter("select语句",new
SqlConnection("数据库字符连接"))DataTable
dt
=
new
DataTable()adapter.Fill(dt)DGV_GJCX.DataSource
=
dt
Q3: vb.net中如何给datagridview的每个combobox单元格指定独立的下拉列表
1、首先新建一个Windows应用程序,将主窗体重命名为MainForm,在MainForm中加入一个DataGridView控件,命名为dgv_User。
2、打开窗体代码窗口,在代码窗口中声明一个ComboBox的控件
// 定义下拉列表框
private ComboBox cmb_Temp = new ComboBox();
3、方法:
/// summary
/// 绑定下拉列表框
/// /summary
private void BindSex()
{
DataTable dtSex = new DataTable();
dtSex.Columns.Add("Value");
dtSex.Columns.Add("Name");
DataRow drSex;
drSex = dtSex.NewRow();
drSex[0] = "1";
drSex[1] = "";
dtSex.Rows.Add(drSex);
drSex = dtSex.NewRow();
drSex[0] = "0";
drSex[1] = "";
dtSex.Rows.Add(drSex);
cmb_Temp.ValueMember = "Value";
cmb_Temp.DisplayMember = "Name";
cmb_Temp.DataSource = dtSex;
cmb_Temp.DropDownStyle = ComboBoxStyle.DropDownList;
}
Q4: vb.net怎样对datagridview中数据模糊查询?
把DGV数据放到datatable DataTable dt = new DataTable(); for (int j = 0; j ucgrd.Columns.Count; j++) { dt.Columns.Add(ucgrd.Columns[j].HeaderCell.Value.ToString()); } for (int j = 0; j ucgrd.Rows.Count; j++) { DataRow dr = dt...
vb.netdgv的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、vb.netdgv的信息别忘了在本站进行查找喔。







