C# C从excel以编程方式包装文本
我有一个c控制台程序,可以下载一个.xls文件,该文件使用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
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上的作用是接受答案,甚至投票:-