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