【问题标题】:Saving excel file as other name将excel文件另存为其他名称
【发布时间】:2017-01-19 16:16:23
【问题描述】:

我正在尝试使用其他名称保存 Excel。

WB.SaveAs(AppDomain.CurrentDomain.BaseDirectory + @"Output\" + "Family" + @"\Item_" + entry.Key + ".xlsx", Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing,false, true, Excel.XlSaveAsAccessMode.xlNoChange,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

但是如果 entry.key 等于 599, 863,868,875,868,881,882,902, 那么我会收到一个错误提示

ExportData Microsoft Excel 无法访问该文件 'C:\Naveen\Tool\bin\Debug\Output\Family\1CF3EF00'。有几个 可能的原因:

• 文件名或路径不存在。 • 该文件正被另一个程序使用。 • 您尝试保存的工作簿与当前打开的工作簿同名。

"1CF3EF00" 每次我运行代码时,这部分都会发生变化。

例如:09E7EF00,E748EF00

【问题讨论】:

  • entry.Key的数据类型是什么?为什么您在异常中没有看到 'C:\Naveen\Tool\bin\Debug\Output\Family Item_ 前缀和 .xlsx 扩展名?如果你用一些字符串“foo”替换 item.key 会发生什么?那行得通吗?让我们从那里开始并进行调试
  • entry.key的数据类型是字符串。
  • 尝试用一些字符串替换 entry.key。但不工作。得到同样的错误
  • 可能是"599, 863,"之间的空格
  • 没有。其实我想要一个单独的 599、863 等的 Excel 工作簿。

标签: c# excel interop


【解决方案1】:

如果你指定另一个目录,你会得到同样的错误吗?喜欢温度? System.IO.Path.GetTempPath() + @"\Item_" + entry.Key + ".xlsx"

【讨论】:

  • 我在关闭工作簿之前保存。该代码适用于 entry.key,而不是 599、863,868,875,868,881,882,902 这些。
猜你喜欢
  • 1970-01-01
  • 2021-08-27
  • 1970-01-01
  • 2012-06-28
  • 2020-05-06
  • 1970-01-01
  • 1970-01-01
  • 2017-05-31
  • 2014-11-26
相关资源
最近更新 更多