Excel断行不会传递给TextBox

时间:2016-01-17 09:46:11

标签: c# excel

我从Excel的第15个单元格中获取数据,并将其传递给TextBox。结果,断线( ALT + Enter )没有通过,为什么? 这是一个例子:

enter image description here

我得到一个字符串:

  

Alex Ross096115976612 / 03 / 1990Test

我希望看到一些字符,如果可能的话,应该是断行。或者从4个单元格中获取4个字符串。

public DataTable ImportExceltoDatatable(string filepath)
        {
            string sqlquery = "Select * From [Лист1$]";
            DataSet ds = new DataSet();
            string constring = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties=\"Excel 12.0;HDR=YES;\"";
            OleDbConnection con = new OleDbConnection(constring + "");
            OleDbDataAdapter da = new OleDbDataAdapter(sqlquery, con);
            da.Fill(ds);
            DataTable dt = ds.Tables[0];
            DataRow[] O = dt.Select("'O' > '0'");
            Variables.Oo(O[0][14].ToString());
            return dt;
        }


private void button2_Click(object sender, EventArgs e)
        {
            dataGridView1.DataSource = ImportExceltoDatatable(Variables.path);
            textBox1.Text += Variables.O;
...
         }

2 个答案:

答案 0 :(得分:1)

尝试将"\n"替换为"\r\n"或将Environment.NewLine替换为excel的结果。

答案 1 :(得分:1)

根据您对我的评论的回复,听起来像\n的简单替换就可以解决问题:

private string ConvertExcelLineBreaks(string text)
{
    return text.Replace("\n", Environment.NewLine);
}

然后,您可以对ImportExceltoDatatable方法稍作修改:

public DataTable ImportExceltoDatatable(string filepath)
{
    // --- 8< ---
    var textFromExcel = O[0][14].ToString();
    Variables.Oo(ConvertExcelLineBreaks(textFromExcel));
}