日志文件到excel表格在c#中

本文关键字:表格 excel 文件 日志 | 更新日期: 2023-09-27 17:49:14

我有一个类似于下面的日志文件,我想把这个日志文件转换成excel表格。

日志示例文件

DateTime: 2012-12-10 20:27:10
Command: ALTER INDEX [Mypageviews] ON [WhosOff].[dbo].[PageViews] REORGANIZE WITH (LOB_COMPACTION = ON)
Comment: ObjectType: Table, IndexType: NonClustered, ImageText: N/A, NewLOB: No, FileStream: N/A, AllowPageLocks: Yes, PageCount: 7639, Fragmentation: 8.1817
Outcome: Succeeded
Duration: 00:00:41
DateTime: 2012-12-10 20:27:51
DateTime: 2012-12-10 20:27:52
Command: ALTER INDEX [MyVisitKeys] ON [WhosOff].[dbo].[Visit] REBUILD WITH (SORT_IN_TEMPDB = OFF, ONLINE = ON)
Comment: ObjectType: Table, IndexType: NonClustered, ImageText: N/A, NewLOB: No, FileStream: N/A, AllowPageLocks: Yes, PageCount: 7229, Fragmentation: 94.4667
Outcome: Succeeded
Duration: 00:00:06
DateTime: 2012-12-10 20:27:58

我想上面的日志文本文件转换成以下格式的excel表格使用c#。输出

StartTime             IndexName     Dbnanme Tbname
2012-12-10 20:27:10  MyPageviews    WhosOff PageViews
2012-12-10 20:27:52  MyVisitKeys    WhoOff  Visit

谁能告诉我如何写程序来实现上述输出?

日志文件到excel表格在c#中

我认为你需要把你的输入解析成有意义的东西,这将是你的问题中最复杂的部分。

但是一旦你有了某种结构的数据,最基本的方法是创建一个分隔的文本文件(例如csv),然后可以导入到Excel中。

要做到这一点,只需在每列值之间放置一个逗号(或您选择的任何分隔符),并在每一行的新行上放置一个。

有更优雅和复杂的解决方案,例如以Open Office格式输出xml文档,或访问Excel对象模型。正如我所说的,每一种方法都更优雅,但学习曲线更陡峭。

您可以尝试实现smartxl。在那里,你可以很容易地建立Excel文件,例如,从一个DataTable。

否则,尝试用html-table创建一个文件,将其保存为.xls并在Excel中打开它。或者为什么不只是。csv格式?

我没有解析和转换的具体代码示例,但它似乎足够简单,大多数人都能掌握?这里有一些参考资料可能会有所帮助:

    在c#中读取文本文件c#中的
  • 数据库

在我看来,最简单的方法是将其转换为CSV格式。所有版本的excel都能很好地识别它。但是要小心日期、时间、小数和所有其他特定于语言环境的格式化值。Excel将尝试将所有这些值转换为其内部表示形式,只有当以计算机区域设置

表示的值才会成功。