Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Excel断线不';不要传递到文本框_C#_Excel - Fatal编程技术网

C# Excel断线不';不要传递到文本框

C# Excel断线不';不要传递到文本框,c#,excel,C#,Excel,我从Excel的第15个单元格中获取数据,并将其传递到TextBox。结果,换行符(ALT+Enter)没有通过,为什么? 以下是一个例子: 我得到一个字符串: Alex Ross096115976612/03/1990测试 我想看看一些字符,如果可能的话,在应该换行的地方。或者从1个单元格中得到4个字符串 public DataTable ImportExceltoDatatable(string filepath) { string sqlquery

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

我得到一个字符串:

Alex Ross096115976612/03/1990测试

我想看看一些字符,如果可能的话,在应该换行的地方。或者从1个单元格中得到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;
...
         }

尝试用
“\r\n”
或环境替换
“\r\n”
。excel结果中的换行符。

尝试用
“\r\n”
或excel结果中的
环境替换

根据您对我评论的回复,这听起来像是一个简单的
\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));
}
公共数据表ImportExceltoDatatable(字符串文件路径) { // --- 8< --- var textFromExcel=O[0][14].ToString(); Oo(ConvertExcelLineBreaks(textFromExcel)); }
根据您对我的评论的回复,这听起来像是对
\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));
}
公共数据表ImportExceltoDatatable(字符串文件路径) { // --- 8< --- var textFromExcel=O[0][14].ToString(); Oo(ConvertExcelLineBreaks(textFromExcel)); }
当实际文本没有换行符时,可能存在显示格式。Excel可能使用了与预期不同的换行符。。。你试过检查断行处是否有不可打印的字符吗?@gerrod,刚刚在调试器中看到。我在每行后面都会看到“\n”。当实际文本没有换行符时,可能会有一种显示格式。Excel可能使用了与预期不同的换行符。。。你试过检查断行处是否有不可打印的字符吗?@gerrod,刚刚在调试器中看到。我在每行后面都有“\n”。