2016-07-04 3 views
0

データテーブルをExcelにエクスポートしているときに、一部の列が新しい行になる。私は問題が何であるか分からない。私のコードは以下の通りです:cで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の問題はありますか?

+0

データテーブルにはいくつの列がありますか?あまりにも多くのように聞こえる。 –

+0

私はデータテーブルに35の列を持っています... 18番目の列の後、新しい行に移動します。 – user123

+0

テキストの最初の行をコードラッパー(unintent)に移動してください。また、「正確な問題がある」または「正確な問題がなかった」という意味は正しいですか? – YakovL

答えて

1

DataRowデータに改行文字が含まれている可能性があります。これが、データに改行が表示される理由の1つです。

スワップ:については

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

:私はそれを正しく診断なかった場合

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

は、問題が解決する場合があります。

関連する問題