可以使用具有多个选项卡/工作表的 csv 吗?

2023-11-30

我正在调用 Web 服务,并且来自 Web 服务的数据采用 csv 格式。 如果我尝试将数据保存在 xls/xlsx 中,那么我会在工作簿中得到多个工作表。 那么,如何在 C# 中使用多个选项卡/工作表将数据保存在 csv 中。

我知道具有多个选项卡的 csv 不实用,但是有没有什么该死的方法或任何库可以将数据保存在具有多个选项卡/工作表的 csv 中?


CSV 作为一种文件格式,假定一个数据“表”;用 Excel 术语来说,就是工作簿的一张表。虽然它只是纯文本,并且您可以以任何您想要的方式解释它,但“标准”CSV 格式不支持您的主管的想法。

你可以通过以下几种方式捏造你想要的东西:

  • 为每个工作表使用不同的文件,并具有相关但不同的名称,例如“Book1_Sheet1”、“Book1_Sheet2”等。然后,您可以通过第一个下划线之前的文本查找相关文件组。这是最容易实现的,但要求用户在每个逻辑“工作簿”中处理多个文件,如果其中一个文件在混乱中丢失,您就会丢失该数据。

  • 执行上述操作,并将文件“压缩”到一个可以移动的存档中。您保留了上述选项的纯 CSV 优点,加上移动一个文件而不是多个文件的便利性,但缺点是必须压缩/解压缩存档才能获取实际文件。为了减轻痛苦,如果您使用 .NET 4.5,则可以访问内置的 ZipFile 实现,如果不是,则可以使用开源 DotNetZip 或 SharpZipLib,其中任何一个都允许您以编程方式创建和使用标准 Windows ZIP 文件。您还可以使用几乎通用的 .tar.gz(又名 .tgz)组合,但您的用户将需要您的程序或第三方压缩工具(如 7Zip 或 WinRAR)来从一组导出的 CSV 创建存档。

  • 实现准 CSV 格式,其中空行(仅包含换行符)充当“制表符分隔符”,并且您的解析器将期望在新配置中出现新的列标题行,后跟数据行。标准 CSV 的这种变体可能无法被 CSV 的其他使用者读取,因为它不符合预期的文件格式,因此我建议您不要使用“.csv”扩展名,因为它会让期望的用户感到困惑和沮丧。能够在电子表格等其他应用程序中打开它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可以使用具有多个选项卡/工作表的 csv 吗? 的相关文章

随机推荐