/// <summary>
/// データテーブルからCSVファイルに変更する
/// </summary>
/// <param name="i_fileName">CSVファイル名</param>
/// <param name="i_data">データテーブル</param>
public static bool DataTableToCsv(string i_fileName, DataTable i_data)
{
StreamWriter sw = null;
try
{
string dir = i_fileName.Substring(0, i_fileName.LastIndexOf("\\"));
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
// CSV ファイルオープン
System.Text.Encoding encoding = System.Text.Encoding.Default;
sw = new StreamWriter(i_fileName, false, encoding);
// 1 行ずつ書き込む
for (int i = 0; i <= i_data.Rows.Count; i++)
{
StringBuilder strBuilder = new StringBuilder();
for (int j = 0; j < i_data.Columns.Count - 1; j++)
{
if (i == 0)
{
//カラム時
if (string.IsNullOrEmpty(i_data.Columns[j].Caption) == false)
{
strBuilder.Append(i_data.Columns[j].Caption);
}
else
{
strBuilder.Append(i_data.Columns[j].ColumnName);
}
}
else
{
//データ時
strBuilder.Append(convCsvValue(DataUtil.CStr(i_data.Rows[i - 1][j])));
}
strBuilder.Append(",");
}
if (i == 0)
{
//カラム時
strBuilder.Append(i_data.Columns[i_data.Columns.Count - 1].Caption);
}
else
{
//データ時
strBuilder.Append(convCsvValue(DataUtil.CStr(i_data.Rows[i - 1][i_data.Columns.Count - 1])));
}
if (i != i_data.Rows.Count)
{
sw.WriteLine(strBuilder);
}
else
{
sw.Write(strBuilder);
}
}
// ファイルクローズ
sw.Close();
return true;
}
catch
{
//SeisanClientLogService.WriteException("CSV出力が失敗しました", ex);
return false;
}
finally
{
if (sw != null)
{
// ファイルクローズ
sw.Close();
}
}
}
/// データテーブルからCSVファイルに変更する
/// </summary>
/// <param name="i_fileName">CSVファイル名</param>
/// <param name="i_data">データテーブル</param>
public static bool DataTableToCsv(string i_fileName, DataTable i_data)
{
StreamWriter sw = null;
try
{
string dir = i_fileName.Substring(0, i_fileName.LastIndexOf("\\"));
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
// CSV ファイルオープン
System.Text.Encoding encoding = System.Text.Encoding.Default;
sw = new StreamWriter(i_fileName, false, encoding);
// 1 行ずつ書き込む
for (int i = 0; i <= i_data.Rows.Count; i++)
{
StringBuilder strBuilder = new StringBuilder();
for (int j = 0; j < i_data.Columns.Count - 1; j++)
{
if (i == 0)
{
//カラム時
if (string.IsNullOrEmpty(i_data.Columns[j].Caption) == false)
{
strBuilder.Append(i_data.Columns[j].Caption);
}
else
{
strBuilder.Append(i_data.Columns[j].ColumnName);
}
}
else
{
//データ時
strBuilder.Append(convCsvValue(DataUtil.CStr(i_data.Rows[i - 1][j])));
}
strBuilder.Append(",");
}
if (i == 0)
{
//カラム時
strBuilder.Append(i_data.Columns[i_data.Columns.Count - 1].Caption);
}
else
{
//データ時
strBuilder.Append(convCsvValue(DataUtil.CStr(i_data.Rows[i - 1][i_data.Columns.Count - 1])));
}
if (i != i_data.Rows.Count)
{
sw.WriteLine(strBuilder);
}
else
{
sw.Write(strBuilder);
}
}
// ファイルクローズ
sw.Close();
return true;
}
catch
{
//SeisanClientLogService.WriteException("CSV出力が失敗しました", ex);
return false;
}
finally
{
if (sw != null)
{
// ファイルクローズ
sw.Close();
}
}
}