如何,我想通过在texbox1中输入某个mac地址的值,然后在textbox2.中显示同一行对应的uuid的值,请问怎么编写代码,谢谢专家
14 个解决方案
#1
如图。。。。。。。。。。。。。。。。。。
#2
把excel表中的数据存入成access数据库,用ado.net查询
#3
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace excelread
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/Sheet1.xlsx; Extended Properties='Excel 12.0;HDR=YES;IMEX=1';";//此连接可以操作.xls与.xlsx文
//String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + + "Extended Properties='Excel 8.0;HDR=YES;IMEX=1';";
OleDbConnection con = new OleDbConnection(sConnectionString);
con.Open();
string TT = textBox1.Text;
string sql = "select UUID from [Sheet1$] where MAC地址=" + "TT";
OleDbCommand cmd = new OleDbCommand(sql,con);
textBox2.Text = cmd.ExecuteScalar().ToString();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
}
}
我的代码是这样的,但是运行的时候很多问题
#4
能帮忙看下下面的代码吗,谢谢
#5
你把excel的数据放到datatable,直接操作datatable就好了啊
excel导出到datatable,网上有很多方法。
excel导出到datatable,网上有很多方法。
#6
运行是这样的
#7
#8
网上搜:c# excel 读取
用引用的com组件的方式(需要本机安装Excel),从第6行开始读,读第二个单元格的值,如果找到需要的,再读第4个单元格的值。
用引用的com组件的方式(需要本机安装Excel),从第6行开始读,读第二个单元格的值,如果找到需要的,再读第4个单元格的值。
#9
TT 不是变量吗
string sql = "select UUID from [Sheet1$] where MAC地址='" + TT + "'";
#10
是的,不能这么写吗,应该怎么写
#11
请问下代码应该怎么写呢
#12
我写的和你写的一样吗?
#13
你的对的,现在的问题是如何不收前几行不是数据的影响,成功查找到uuid
#14
用第三方组件spire.xls可以实现这个功能,NuGet上下载Spire.Xls.dll(搜索spire.xls),然后用下面的代码:
private void FindString_Click(object sender, EventArgs e)
{
//加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("1.xlsx");
//获取第一张工作表
Worksheet sheet = workbook.Worksheets[0];
//查找指定MAC地址对应的单元格
CellRange cell = sheet.FindString(textBox1.Text, true, true);
//获取该单元格对应行中第四个单元格的文本并写入textBox2
textBox2.Text = sheet.Rows[cell.Row - 1].Cells[3].Text;
}
#1
如图。。。。。。。。。。。。。。。。。。
#2
把excel表中的数据存入成access数据库,用ado.net查询
#3
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace excelread
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/Sheet1.xlsx; Extended Properties='Excel 12.0;HDR=YES;IMEX=1';";//此连接可以操作.xls与.xlsx文
//String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + + "Extended Properties='Excel 8.0;HDR=YES;IMEX=1';";
OleDbConnection con = new OleDbConnection(sConnectionString);
con.Open();
string TT = textBox1.Text;
string sql = "select UUID from [Sheet1$] where MAC地址=" + "TT";
OleDbCommand cmd = new OleDbCommand(sql,con);
textBox2.Text = cmd.ExecuteScalar().ToString();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
}
}
我的代码是这样的,但是运行的时候很多问题
#4
能帮忙看下下面的代码吗,谢谢
#5
你把excel的数据放到datatable,直接操作datatable就好了啊
excel导出到datatable,网上有很多方法。
excel导出到datatable,网上有很多方法。
#6
运行是这样的
#7
#8
网上搜:c# excel 读取
用引用的com组件的方式(需要本机安装Excel),从第6行开始读,读第二个单元格的值,如果找到需要的,再读第4个单元格的值。
用引用的com组件的方式(需要本机安装Excel),从第6行开始读,读第二个单元格的值,如果找到需要的,再读第4个单元格的值。
#9
TT 不是变量吗
string sql = "select UUID from [Sheet1$] where MAC地址='" + TT + "'";
#10
是的,不能这么写吗,应该怎么写
#11
请问下代码应该怎么写呢
#12
我写的和你写的一样吗?
#13
你的对的,现在的问题是如何不收前几行不是数据的影响,成功查找到uuid
#14
用第三方组件spire.xls可以实现这个功能,NuGet上下载Spire.Xls.dll(搜索spire.xls),然后用下面的代码:
private void FindString_Click(object sender, EventArgs e)
{
//加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("1.xlsx");
//获取第一张工作表
Worksheet sheet = workbook.Worksheets[0];
//查找指定MAC地址对应的单元格
CellRange cell = sheet.FindString(textBox1.Text, true, true);
//获取该单元格对应行中第四个单元格的文本并写入textBox2
textBox2.Text = sheet.Rows[cell.Row - 1].Cells[3].Text;
}