datatable到Excel中的C#

在将Datatable导出到Excel时,有些列会落入新行。 我不知道是什么问题。 我的代码如下:

string attachment = "attachment; filename=Test.xls"; Response.ClearContent(); Response.AddHeader("content-disposition", attachment); Response.ContentType = "application/vnd.ms-excel"; string tab = ""; foreach (DataColumn dc in transposedTable.Columns) { Response.Write(tab + dc.ColumnName); //tab = "\t"; } Response.Write("\t"); int i; foreach (DataRow dr in transposedTable.Rows) { Response.Write("\n"); tab = ""; for (i = 0; i < transposedTable.Columns.Count; i++) { Response.Write(tab + dr[i].ToString()); tab = "\t"; } Response.Write("\t"); } Response.End(); 

我尝试了很多方法,但没有得到确切的问题。 是在机器或我的代码excel的问题?

您的DataRow数据似乎可能包含换行符,这就是换行符可能出现在数据中的一个原因。

交换:

  Response.Write(tab + dr[i].ToString()); 

对于:

  string replacement = Regex.Replace(dr[i].ToString(), @"\t|\n|\r", ""); Response.Write(tab + replacement); 

如果我的诊断正确,可以解决这个问题。