【发布时间】:2021-04-07 16:45:54
【问题描述】:
为了便于理解,我将显示 excel 输出
代码也很简单,如何让行正确?我尝试创建多个数据表并合并它们,但合并始终是垂直的,所以我得到了相同的输出。
dt.Columns.Add("Nomes", typeof(string));
DataRow dr;
for (int i = 0; i < surveyAnswers.Respostas.Count; i++) {
if (i == 0) {
dr = dt.NewRow();
dr[0] = surveyAnswers.Respostas[i].quemRespondeu;
dt.Rows.Add(dr);
}
if (i > 0) {
string nome = surveyAnswers.Respostas[i].quemRespondeu;
if (nome != surveyAnswers.Respostas[i - 1].quemRespondeu) {
dt.Rows.Add(nome);
}
}
}
for (int j = 0; j < surveyGroups.Count; j++) {
string grupo = surveyGroups[j].SubTitulo;
dt.Columns.Add(grupo, typeof(string));
for (int i = 0; i < surveyAnswers.Respostas.Count; i++) {
if (surveyAnswers.Respostas[i].QuestaoGrupo == j) {
dr = dt.NewRow();
dr[j] = surveyAnswers.Respostas[i].QuestaoPergunta;
dt.Rows.Add(dr);
}
}
}
Dictionary<string, string> header = new Dictionary<string, string>();
header.Add("Content-Disposition", "attachment;filename=questionario_resultados.csv");
ResponseUtil.Write(context, DataTableToCSV.WriteToString(dt, true, false), "text/csv; charset=UTF-8", header); ```
【问题讨论】:
标签: c# excel visual-studio datatables