public void GenerateDetailFile()
{
if (!Directory.Exists(AppVars.IntegrationFilesLocation))
{
Directory.CreateDirectory(AppVars.IntegrationFilesLocation);
}
DateTime DateTime = DateTime.Now;
using (StreamWriter sw = File.CreateText(AppVars.IntegrationFilesLocation +
DateTime.ToString(DateFormat) + " Detail.txt"))
{
DataTable table = Database.GetDetailTXTFileData();
foreach (DataRow row in table.Rows)
{
sw.WriteLine(row);
}
}
}
Run Code Online (Sandbox Code Playgroud)
不知道我在这里缺少什么,但我认为它可能是列名,我不知道如何设置它.
这工作正常,除了当它写入文本文件时,它正在写这个:
System.Data.DataRow
System.Data.DataRow
System.Data.DataRow
System.Data.DataRow
System.Data.DataRow
System.Data.DataRow
System.Data.DataRow
System.Data.DataRow
System.Data.DataRow
System.Data.DataRow
任何人都可以帮我一把吗?
Eri*_*ric 19
当您尝试打印出DataRow类似的内容时,它正在调用Object.ToString(),它只是打印出类型的名称.你想做的是:
sw.WriteLine(String.Join(",", row.ItemArray));
Run Code Online (Sandbox Code Playgroud)
这将打印以逗号分隔的列表中的所有项目DataRow.
下面的代码将让你写出文本文件,每列用'|'分隔
foreach (DataRow row in dt.Rows)
{
object[] array = row.ItemArray;
for (int i = 0; i < array.Length - 1; i++)
{
swExtLogFile.Write(array[i].ToString() + " | ");
}
swExtLogFile.WriteLine(array[array.Length - 1].ToString());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61406 次 |
| 最近记录: |