【问题标题】:Why Windows Forms app doesn't save the file to folder为什么 Windows 窗体应用程序不将文件保存到文件夹
【发布时间】:2014-05-19 08:38:05
【问题描述】:

我有一个 Windows 窗体应用程序。在此应用程序中,我将 Excel 文件保存到文件夹。这是保存文件的函数:

Public Sub ExportToXls(ByRef dt As DataTable, ByRef path As String)
    On Error Resume Next

    'I use Microsoft.Office.Interop.Excel version = 12
    Dim xlApp As Microsoft.Office.Interop.Excel.Application
    Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook
    Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
    Dim misValue As Object = System.Reflection.Missing.Value

    xlApp = New Microsoft.Office.Interop.Excel.ApplicationClass
    xlWorkBook = xlApp.Workbooks.Add(misValue)
    xlWorkSheet = xlWorkBook.Sheets(1) 
    For i1 As Integer = 0 To dt.Columns.Count - 1
      xlWorkSheet.Cells(1, i1 + 1) = dt.Columns(i1).Caption
    Next
    For i1 As Integer = 0 To dt.FieldCount - 1
      xlWorkSheet.Cells(2, i1 + 1) = dt.Fields(i1)
    Next

    Dim fi As New FileInfo(path)
    If fi.Exists Then
      fi.Delete()
    End If
    ' Default path is X:\WMisch.xls
    ' here on X: I have all rights.
    xlWorkSheet.SaveAs(Filename:=path, FileFormat:=Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel8) 

    xlWorkBook.Close()
    xlApp.Quit()

    xlApp = Nothing
    xlWorkBook = Nothing
    xlWorkSheet = Nothing

    On Error GoTo 0
End Sub

在超过 1 台 PC/服务器上一切正常,但在一台服务器上,使用 Windows Server 2008 R2 Standard,不工作(不将文件保存到路径 X:\WMisch.xls)。在这里,在这台服务器上安装了 Office 2003,但我还安装了 MS Office Interop 版本 12。

谁能告诉我问题出在哪里? 谢谢!

【问题讨论】:

  • 请定义“不起作用” - 有例外吗?哪一个?哪一行抛出错误?输出是否与预期不同?有什么不同?
  • 我没有错误,但应用程序没有将文件保存到 X:\WMisch.xls。

标签: vb.net excel office-interop


【解决方案1】:

我看到你正在使用On Error Resume Next。而是使用Try..Catch 语句。 This 可能会帮助您找到错误。

【讨论】:

  • 好的,我试试这个。谢谢!
  • 不仅如此,永远不要再使用On Error Resume Next。您是在告诉应用程序,如果出现任何问题,不管它是什么,只要继续,不要费心告诉任何人。这真的是个好策略吗?
  • 这对客户有好处。所以应用程序永远不会在一个“致命错误”之后关闭自己......
  • 你可以用我提到的 'Try...Catch' 方法来做同样的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多