C# C从excel以编程方式包装文本

C# C从excel以编程方式包装文本,c#,excel,C#,Excel,我有一个c控制台程序,可以下载一个.xls文件,该文件使用 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + sourceFile + ";" + "Extended Properties=\"Excel 8.0;HDR=Yes;\""; OleDbConnection conn = null; StreamWriter wrtr = null; OleDbCommand cmd = null; Ol

我有一个c控制台程序,可以下载一个.xls文件,该文件使用

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + sourceFile + ";" + "Extended Properties=\"Excel 8.0;HDR=Yes;\"";

OleDbConnection conn = null;
StreamWriter wrtr = null;
OleDbCommand cmd = null;
OleDbDataAdapter da = null;
try
{
    conn = new OleDbConnection(strConn);
    conn.Open();


    cmd = new OleDbCommand("SELECT * FROM [" + worksheetName + "$]", conn);
    cmd.CommandType = CommandType.Text;
    wrtr = new StreamWriter(targetFile);

    da = new OleDbDataAdapter(cmd);
    DataTable dt = new DataTable();
    da.Fill(dt);
在其中一列中,文本需要进行文字包装。我该怎么做?数据如下所示

哥伦比亚特区 邮政编码11101。
该列实际上应为哥伦比亚特区邮政编码11101。

在提供文本后,应将单元格的IsTextWrapped样式设置为true

worksheet.Cells[0, 0].Style.IsTextWrapped = true;

使用以下方法删除换行符:

string noWraps = source.Replace(Environment.NewLine, "");

不,我的问题不一样。我无法检查每个字段,因为我的xls文件非常大。是否尝试包装或打开来自OleDbCommand的文本?标题表明您希望包装文本,但问题的最后一部分似乎表明您希望包装文本变为非包装文本。如何对整个列执行此操作?嗯,您需要迭代代码中填充的数据表中的行。调用诸如dt.Rows[i][j]=dt.Rows[i][j].ReplaceEnvironment.NewLine、;。谢谢@Thorsten,我用了Replace\r、.Replace\n,效果很好。太好了!相当于感谢,它在StackOverflow上的作用是接受答案,甚至投票:-