如何将 .NET 标准格式字符串转换为 Excel 格式字符串

Posted

技术标签:

【中文标题】如何将 .NET 标准格式字符串转换为 Excel 格式字符串【英文标题】:How to convert .NET standard format string to Excel format string 【发布时间】:2012-03-08 17:25:33 【问题描述】:

我有一个应用程序,它允许用户创建数字数据的自定义视图,并指定用于显示数据的格式字符串。通常用户使用 .NET 标准格式字符串,例如 N2、P1。

我现在有一个生成Excel导出的需求,想根据用户的喜好来格式化导出的数据。

是否有任何“内置”功能可将标准 .NET 格式字符串转换为可在 Excel 中使用的自定义格式字符串。例如。 "N2" => "#,##0.00"; "P1" => "#,##0.0 %",还是我必须自己滚动?

【问题讨论】:

自从您提出这个问题以来,您在这方面取得了进展吗?我真的很想找到一个快速的解决方案,但是最近几天我没有找到任何东西...... @JakeSmith - 没有进展,恐怕你得自己动手了。 【参考方案1】:

我经历了类似的事情,很遗憾地告诉你,基本上你必须自己解析。

只是一个友好的建议,让我告诉你,如果你打算在导入到 excel 之前导出到文本文件或类似文件 (TXT/CSV/html),那么有一个问题。

只有当 Excel 能够“理解”格式时,Excel 才能正确读取数字(否则 Excel 将作为文本导入或误读数字)。

例如,假设 .net 使用“,”作为小数点,而 excel 使用“。”那么导出你可能会误读数据。

话虽如此,如果您打算将文本文件导出到 Excel 中,则应避免格式化数字。如果您是直接从 .net 生成文件,那么您将不得不手动解析字符串(但不应该有任何误读数据的问题)。

【讨论】:

以上是关于如何将 .NET 标准格式字符串转换为 Excel 格式字符串的主要内容,如果未能解决你的问题,请参考以下文章

php时间格式怎么转换?

如何将 Excel 中的日期转换为 ISO 8601 格式

excel 文本转日期

如何将标准 IP 地址格式字符串转换为十六进制和长字符串?

将科学记数法格式的字符串字符转换为标准记数法

在Excel中如何将数字格式批量转换为文本格式,并且保留二位小数?