0

我需要创建包含页眉、页脚、页码等的基于文本的报告(.txt 格式)。这类似于使用 COBOL 编写报告的方式。

有谁知道允许 .NET 应用程序使用此功能的任何库或第三方工具?

我不打算使用 Reporting Services 或任何东西。我只是想创建一个数据集,然后创建我自己的报表,这些报表的格式很好,并且列之间的间距正确。

今天,我通过在我的应用程序中加入 Powershell 的 format-table 命令来实现这一点(没有标题、页码、页脚)。它似乎可以很好地格式化我的报告,而不必担心间距等,而且我可以轻松地对列进行排序。

任何帮助或方向将不胜感激。

4

2 回答 2

0

您不需要第三方库来完成您所需要的。您只需要遍历Collection然后将分隔符附加到每条记录。然后string用适当的 . 作为响应header

Collection这是一个示例,但该概念与任何类型或类型都保持相关List

数据表到文本文件

这是一个示例 DataTable 扩展方法,该方法将其转换为带有可选分隔符的输出字符串。

public static string GetStringSeperatedBy(this DataTable dt, string delimiter)
{
    var sb = new StringBuilder();

    var columnNames = dt.Columns.Cast<DataColumn>().Select(column => string.Format("\"{0}\"", column.ColumnName)).ToArray();
    sb.AppendLine(string.Join(delimiter, columnNames));

    foreach (DataRow row in dt.Rows)
    {
       var fields = row.ItemArray.Select(field => string.Format("\"{0}\"", field.ToString().Replace(Environment.NewLine, " ").Replace("\"", ""))).ToArray();
            sb.AppendLine(string.Join(delimiter, fields));
    }
    return sb.ToString();
 }
于 2013-02-05T05:29:06.160 回答
0

我倾向于查看一些基于 .NET 的模板引擎。我以前使用过模板引擎(虽然不是在 .NET 中),我认为它们可以很好地满足您的要求。

在这里查看一些与它们相关的 SO 问题,以便您了解人们会推荐什么。例如,看;

于 2013-02-05T05:12:54.357 回答