/// <summary>
/// CSVファイルダウンロード
/// </summary>
private void doDownload(int nType)
{
ComMethod.setMsg(0, "", lblMessage);
try
{
string fileName = "";
string sessionName = "";
StringWriter fileWriter = new StringWriter();
int rowCount, colCount;
string[] arr;
ArrayList ls = new ArrayList();
DataTable dt = null;
/*
* File Download
*/
if (nType == 1)
{
sessionName = "OrderDetaiInfo";
fileName = "OrderInfoDetails" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv";
// セッションからデータを取得
if (null != Session[sessionName])
{
dt = (DataTable)Session[sessionName];
}
}
else
{
sessionName = "OrderInfo";
fileName = "OrderInfo" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv";
// セッションからデータを取得
if (null != Session[sessionName])
{
dt = (DataTable)Session[sessionName];
}
}
if (null == dt)
{
ComMethod.setMsg(1, "ダウンロードデータ取得処理に異常が発生しました。", lblMessage);
return;
}
rowCount = dt.Rows.Count + 1;
colCount = dt.Columns.Count;
arr = new string[colCount];
fileWriter = new StringWriter();
ls = new ArrayList();
for (int i = 0; i < rowCount; i++)
{
if (i == 0)
{
for (int j = 0; j < colCount; j++)
{
arr[j] = ComMethod.ObjToString(dt.Columns[j].ColumnName);
}
fileWriter.WriteLine(String.Join(",", arr));
}
else if (i > 0)
{
for (int j = 0; j < colCount; j++)
{
arr[j] = "/"" + ComMethod.ObjToString(dt.Rows[i - 1][j]).Replace("/n", "") + "/"";
}
fileWriter.WriteLine(String.Join(",", arr));
}
}
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=" + fileName);
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
Response.Write(fileWriter.ToString());
Response.End();
fileWriter.Flush();
fileWriter.Close();
}
catch (Exception ex)
{
ComMethod.setMsg(1, "CSVファイルダウンロード処理に異常が発生しました。(" + ex.Message.ToString() + ")", lblMessage);
}
}