首页 > 代码库 > 把复制Excel里一行连续10个单元格的内容一次性粘贴到10个TextBox里

把复制Excel里一行连续10个单元格的内容一次性粘贴到10个TextBox里

最近做系统,有很多人提出要直接粘贴Excel里的信息上去,手输太麻烦了,所以就去试了下。

开始的时候,有点转牛角尖里去了,老想着去得到剪切板里的内容。

后面发现可以直接把复制来的内容先粘贴到TextBox1里,然后再利用TextBox1的内容改变事件来处理,对字符串进行分割,然后在逐个赋给TextBox控件。

这里碰到了一个问题,就是不知道Excel里联系单元格之间的分隔符是什么,后来测试出来使用 0x09 来分隔的。其实0x09 就是 制表符,也就是 \t 

有了这些问题就很好解决了,下面来看代码:

protected void TextBox1_TextChanged(object sender, EventArgs e)
    {
        try
        {
            string strs = TextBox1.Text.ToString();
            string[] ss = strs.Split('\t');
            for (int i = 0; i < ss.Length; i++)
            {

            }
            TextBox1.Text = ss[0];
            TextBox2.Text = ss[1];
            TextBox3.Text = ss[2];
            TextBox4.Text = ss[3];
            TextBox5.Text = ss[4];
            TextBox6.Text = ss[5];
            TextBox7.Text = ss[6];
            TextBox8.Text = ss[7];
            TextBox9.Text = ss[8];
            TextBox10.Text = ss[9];
            TextBox11.Text = ss[10];
            TextBox12.Text = ss[11];
            TextBox13.Text = ss[12];
            TextBox14.Text = ss[13];
            TextBox15.Text = ss[14];
            TextBox16.Text = ss[15];
            TextBox17.Text = ss[16];
        }
        catch { }
    }

其实,问题很简单的,就是把复制过来的值先赋值给strs,然后对strs用
\t来分割开来,再对应赋给相应的TextBox控件,就OK拉。

把复制Excel里一行连续10个单元格的内容一次性粘贴到10个TextBox里