C# 如何将数据集导出到记事本?
如何将DataSetmultiple数据表导出到记事本。来自cC# 如何将数据集导出到记事本?,c#,c#-4.0,c#-3.0,export-to-text,C#,C# 4.0,C# 3.0,Export To Text,如何将DataSetmultiple数据表导出到记事本。来自c 注意:不是单个数据表,而是数据集中的多个数据表 你想去吗 public interfacte IExport { bool Export(Databale sometable);// this can also reference interface //concrete implementation could also handle saving of file } 然后调用一个具体类来实现该值,使用工厂模式、依
注意:不是单个数据表,而是数据集中的多个数据表 你想去吗
public interfacte IExport
{
bool Export(Databale sometable);// this can also reference interface
//concrete implementation could also handle saving of file
}
然后调用一个具体类来实现该值,使用工厂模式、依赖项注入等来提供具体类型。然后,您可以继续添加任意数量的转换器,以支持任意数量的文件类型。哪种格式?xml、csv、JSONO.txt、html和xpf格式,这些我需要导出如果我理解您的答复,如果我们选择txt格式,导出类将生成一个txt文件,其中包含简单矩阵格式的所有数据集信息,如果我们设置xml输出,则导出类将生成表示数据集信息的xml,如果我们希望导出到xpf,则导出类将生成与txt文件相同的输出,但会生成一个xpf文件?@h herzi我不明白您想导出到.txt文件,这意味着一个简单的输出,而不是数据集的xml:表1:。。。表2:。。。与需要下载的xml数据库不同,我搜索了很多我只得到了数据表导出到记事本,而不是数据将两个以上的数据表保存到一个记事本首先可以在数据表上使用for循环,对于txt,将其设置为CSV格式以便于传递,您可以检查,还有一个关于如何创建文件的简单代码示例。@swetha谢谢你的回答,它对我很好,对我的大多数报告都很有帮助
private void Write(System.Data.DataSet dts, string outputFilePath)
{
System.Data.DataTable dt = new System.Data.DataTable();
for (int z = 0; z < dts.Tables.Count; z++)
{
dt = dts.Tables[z];
int[] maxLengths = new int[dt.Columns.Count];
for (int i = 0; i < dt.Columns.Count; i++)
{
maxLengths[i] = dt.Columns[i].ColumnName.Length;
foreach (DataRow row in dt.Rows)
{
if (!row.IsNull(i))
{
int length = row[i].ToString().Length;
if (length > maxLengths[i])
{
maxLengths[i] = length;
}
}
}
}
using (StreamWriter sw = new StreamWriter(outputFilePath, true))
{
for (int i = 0; i < dt.Columns.Count; i++)
{
sw.Write(dt.Columns[i].ColumnName.PadRight(maxLengths[i] + 2));
}
sw.WriteLine();
foreach (DataRow row in dt.Rows)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
if (!row.IsNull(i))
{
sw.Write(row[i].ToString().PadRight(maxLengths[i] + 2));
}
else
{
sw.Write(new string(' ', maxLengths[i] + 2));
}
}
sw.WriteLine();
}
sw.Close();
}
}
}