CSV 보고서로 내보내기
11429 단어 csv
다음은 코드가 테이블을 문자열로 변환하고 CSV가 해석할 수 있는 문자열입니다!
CSVConvert.aspx 백엔드 코드
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = (DataTable)Session["Source"];
ConvertCSV(dt, "a");
//Response.Redirect();
}
/// <summary>
/// cvs
/// </summary>
/// <param name="dt"></param>
/// <param name="reportFileName"></param>
private void ConvertCSV(DataTable dt, string reportFileName)
{
StringBuilder sBuilder = new StringBuilder("");
//string strCSV = string.Empty;
for (int i = 0; i < dt.Columns.Count; i++)
{
if (i == 0)
{
sBuilder = sBuilder.Append("\"").Append(dt.Columns[i].ColumnName).Append("\"");
//strCSV += "\"" + dt.Columns[i].ColumnName + "\"";
}
else
{
sBuilder = sBuilder.Append(",\"").Append(dt.Columns[i].ColumnName).Append("\"");
//strCSV += ",\"" + dt.Columns[i].ColumnName + "\"";
}
}
sBuilder = sBuilder.Append("\r
");
//strCSV += "\r
";
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
if (j == 0)
{
sBuilder = sBuilder.Append("\"").Append(ConvertObject(dt.Rows[i][j])).Append("\"");
//strCSV += "\"" + ConvertObject(dt.Rows[i][j]) + "\"";
}
else
{
sBuilder = sBuilder.Append(",\"").Append(ConvertObject(dt.Rows[i][j])).Append("\"");
//strCSV += ",\"" + ConvertObject(dt.Rows[i][j]) + "\"";
}
}
sBuilder = sBuilder.Append("\r
");
//strCSV += "\r
";
}
byte[] bFile = System.Text.Encoding.GetEncoding("GB2312").GetBytes(sBuilder.ToString());
Session["ReporFrom"] = bFile;
Session["reporFileName"] = reportFileName;
Response.Redirect("ReportForm.aspx");
//Response.Write("<script language='javascript'>window.open('ReportForm.aspx');</script>");
//Response.Write("<script language='javascript'>window.open('ReportForm.aspx');</script>");
}
protected string ConvertObject(object obj)
{
if (obj != null)
{
return obj.ToString();
}
return string.Empty;
}
다음은 ReportForm입니다.aspx 페이지 코드
protected void Page_Load(object sender, EventArgs e)
{
byte[] bFile = (byte[]) Session["ReporFrom"];
string reportFileName = Session["reporFileName"].ToString();
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.AddHeader("Content-Disposition", "attachment; filename=" + reportFileName + ".csv");
Response.ContentType = "application/octet-stream;charset=GB2312";
Response.AddHeader("Content-length", bFile.Length.ToString());
Response.BinaryWrite(bFile);
Response.End();
Response.Close();
Session.Remove("ReporFrom");
Session.Remove("reporFileName");
}
다음은 구체적인 실례 사용법이다.
Session["Source"] = dt;
Response.Write("<script language='javascript'>window.open('CSVConvert.aspx');</script>");
CSV Pages Download
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Express 서버에서 CSV 업로드, 행 구문 분석 및 각 행을 MongoDB(Mongoose 사용)에 저장CSV 파일을 업로드하기 위한 양식 만들기 - multipart/form-data multer 은 파일을 가져와 req.file 에 배치합니다. req.body에서 파일을 찾을 것이라고 기대하지 마십시오. multe...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.