我有一个类似于下面的日志文件,我想将这个日志文件转换成 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
我希望使用 C# 在 Excel 工作表中将上述日志文本文件转换为以下格式。 输出
StartTime IndexName Dbnanme Tbname
2012-12-10 20:27:10 MyPageviews WhosOff PageViews
2012-12-10 20:27:52 MyVisitKeys WhoOff Visit
谁能告诉我如何编写程序来实现上述输出?
最佳答案
我认为您需要将您的输入解析为有意义的内容,这将是您的问题中最复杂的部分。
但是一旦您拥有某种结构的数据,最基本的方法就是创建一个带分隔符的文本文件(例如 csv),然后可以将该文件导入到 Excel 中。
要做到这一点,只需在每列值之间放置一个逗号(或您选择的任何分隔符),每行另起一行。
还有更优雅和复杂的解决方案,例如以 Open Office 格式输出 xml 文档,或访问 Excel 对象模型。正如我所说,每一个都更优雅,但学习曲线会更陡峭。
关于c# - C# 中的日志文件到 excel 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13972298/