c# - C# 中的日志文件到 excel 表

标签 c# .net regex visual-studio-2010 logging

我有一个类似于下面的日志文件,我想将这个日志文件转换成 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/

相关文章:

javascript - 在浏览器应用程序和 .net Windows 应用程序之间进行通信

.net - 测试IEnumerable <T>是否包含1个元素而不进行计数或不使用Single

regex - 如何使用正则表达式添加千位分隔符?

python - 在Python中获取括号内的字符串

javascript - 使用正则表达式用修改后的数字替换字符串中的数字 - Javascript

c# - 使用 ADO.NET 库的 C++ 中的 SQL Server 2014 查询通知

c# - Azure应用程序服务无法连接到通过公共(public)IP公开的本地数据库

c# - C# 代码中的行内注释会影响编译的 dll 吗?

c# - gridview中添加空行的问题

c# - 如何在 VS 中链接用两种不同语言(如 C++ 和 C#)编写的两个不同项目?