【问题标题】:C# File open / convert and saveC#文件打开/转换并保存
【发布时间】:2015-07-21 23:16:31
【问题描述】:

我对 C# 很陌生,希望这是一个简单的问题。在谷歌上找不到我需要的东西

我有一个文件 C:\test\losses.csv 我想打开然后转换为 xlsx 文件并保存在不同的目录中。 存到 C:\test\Losses.xlsx 打开文件的原因是 move 命令没有将其转换为 xlsx,不幸的是它与 csv 保持相同的结构并且在该格式下无法使用。
File.Copy(@"C:\test\losses.csv", @"C:\test1\Losses.xlsx"); 上面的代码效果很好,但仍然是一个 csv 文件(实际上是一个混合文件)。这是另一个 SAP 故事。
任何帮助将不胜感激。谢谢

【问题讨论】:

  • 不太清楚你在问什么。您从 CSV 开始,并且想要将其转换为 xlsx?你必须使用办公室互操作来做到这一点,复制它不会有帮助。通过复制或移动它,充其量您可能会意外更改元数据,以便 excel 以不同的方式处理它。
  • 您必须使用库将其转换为实际的 excel 文件。
  • 更改文件的扩展名不会更改文件的 /format/。一个简单的解决方案是在 excel 中打开文件,然后将其保存为 xlsx
  • 嗯,当然...复制文件不会改变其内容或格式。

标签: c#


【解决方案1】:

File.Copy 仅复制文件 - 类似于在 DOS 或 Windows 文件资源管理器中复制文件。

您需要将 CSV 转换为 XLSX 文件。格式应该很简单,但你需要做更多的研究:

  1. 将 CSV 作为数据表加载
  2. 使用 Excel.XlFileFormat.xlOpenXMLWorkbook 类翻译文件。

另一个 StackOverflow 问题解决了如何使用 xlOpenXMLWorkbook: Exporting to .xlsx using Microsoft.Office.Interop.Excel SaveAs Error

希望这会有所帮助。祝你好运。

【讨论】:

  • 我喜欢 Stas Berkov 发布的作为解决此问题的更好链接的内容 - 但我想保留对我发布的链接的引用,因为它向新编码人员(如您自己)突出显示,有时看起来很明显解决方案不是正确的。挖掘并熟悉各种 API 是解决编码解决方案的最佳方法。
猜你喜欢
  • 1970-01-01
  • 2013-10-08
  • 1970-01-01
  • 2016-04-17
  • 1970-01-01
  • 1970-01-01
  • 2021-12-04
  • 1970-01-01
  • 2015-12-13
相关资源
最近更新 更多