2

この行がありますが、見出しを構成するために変数をテキストに追加するにはどうすればよいですか?

  StringBuilder sb = new StringBuilder();
  week6 = model.SelectedSunday.AddDays(-7);
  week5 = week6.AddDays(-7);
  week4 = week5.AddDays(-7);
  week3 = week4.AddDays(-7);
  week2 = week3.AddDays(-7);
  week1 = week2.AddDays(-7);
  sb.AppendLine("Title, Total, " week6, week5, week4, week3, week2, week1 );

また、このコード:

 var tradesmenReportData = _reportingService.GetTradeUKKPITradesmen(model.SelectedSunday);
  var jobSortedReportData = _reportingService.GetTradeUKKPIJobSorted(model.SelectedSunday);
  foreach (var item in tradesmenReportData)
  {
    sb.AppendLine(String.Concat("\"", item.Title, "\", item.Total, "\", item.Week6, "\", ", item.Week5, "\", ", item.Week4, "\", ", item.Week3, "\", ", item.Week2, "\", ", item.Week1));

  }

出力ファイル(Excel)で、値に「値が追加されていますか?上の行のどこかに余分な」があります。どこが間違っていますか?

ありがとう

4

3 に答える 3

5

あなたが使用することができますStringBuilder.AppendFormat

sb.AppendFormat("Title, Total, {0}, {1}, {2}, {3}, {4}, {5}"
               , week6, week5, week4, week3, week2, week1);

0個以上のフォーマット項目を含む複合フォーマット文字列を処理して返された文字列をこのインスタンスに追加します。各フォーマット項目は、パラメーター配列内の対応する引数の文字列表現に置き換えられます。

于 2012-08-20T07:34:03.423 に答える
2
sb.AppendFormat("Title, Total, {0}, {1}, {2}, {3}, {4}, {5}", week6, week5, week4, week3, week2, week1 );

AppendFormatのオーバーロードにより、プレースホルダーがメソッドに渡すパラメーター(week6 / week5など)に置き換えられます。

2番目のスニペットでは、これを再度使用できます。

sb.AppendFormat("\"{0}\", \"{1}\", \"{2}\", \"{3}\", \"{4}\", \"{5}\", \"{6}\", \"{7}\"", item.Title, item.Total, item.Week6, item.Week5, item.Week4, item.Week3, item.Week2, item.Week1);
于 2012-08-20T07:39:00.377 に答える
0

StringBuilder.AppendFormat他の回答に記載されているように使用できます。

別のオプション(たとえば、持っているが持ってstringいない場合StringBuilder)は、を使用する必要があります。string.Formatこれは、よりもはるかに読みやすいためConcatです。例えば:

sb.AppendLine(string.Format(@"\"{0}\" \"{1}\" \"{2}\" \"{3}\" \"{4}\" \"{5}\" \"{6}\" \"{7}\"", 
              item.Title, //0
              item.Total, //1
              item.Week6, //2
              item.Week5, //3
              item.Week4, //4
              item.Week3, //5
              item.Week2, //6
              item.Week1) //7
           );
于 2012-08-20T07:34:32.003 に答える