2016-05-31 92 views
0

我實際上寫了一個月前準備一個項目,我已經工作。現在我得到這個錯誤,不知道爲什麼它被拋出。我甚至創建了一個文件夾並檢查了它的權限。有什麼建議麼?「從HRESULT異常:0x800A03EC」創建新的工作表

namespace E_Report 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Application xlApp = new Application(); 
      Workbook xlWorkbook = xlApp.Workbooks.Add("Report.xlsx"); 
      Worksheet xlWorksheet = xlApp.Worksheets.Add("Sheet1"); // Exception from HRESULT: 0x800A03EC 

      xlWorksheet = (Worksheet)xlWorkbook.Worksheets.get_Item("Sheet1"); 

      xlWorksheet.Cells[1, 1] = "Account Number"; 
      xlWorksheet.Cells[1, 2] = "Amount"; 
      xlWorksheet.Cells[1, 3] = "Code"; 
      xlWorksheet.Cells[1, 4] = "Date"; 
      xlWorksheet.Cells[1, 5] = "Audit"; 
      xlWorksheet.Cells[1, 6] = "ID"; 
      xlWorksheet.Cells[1, 7] = "Customer Name"; 
      xlWorksheet.Cells[1, 8] = "Payment Source"; 

      xlWorkbook.SaveAs("C:\\Temp\\Report.xlsx"); 

      xlApp.Quit(); 

      xlWorkbook.Close(0); 
     } 
    } 
} 

感謝您的幫助!

+0

您是否有關於例外的其他信息?除了錯誤代碼以外,StackTrace或其他任何信息都會有所幫助。 –

+0

我在調試器中遍歷它,並在值下看到工作簿的System_ComObject和工作表我看到null,沒有別的。 – MrASifuMason

回答

0

隨着你想xlApp.Worksheets.Add("Sheet1")Sheet1添加一個新的工作表,預計現有Worksheet對象(以及0x800A03ECNAME_NOT_FOUND)。

我想你想要做的是添加一個名爲Sheet1一個新的工作表:

Worksheet xlWorksheet = xlApp.Worksheets.Add(); 
xlWorksheet.Name = "Sheet1"; 

現在還行xlWorksheet = (Worksheet)xlWorkbook.Worksheets.get_Item("Sheet1"); 可以被簡單地丟棄。

+0

好吧,我試圖把標題放入第一張表是。 – MrASifuMason

+0

然後您不需要該參數(請參閱MSDN,它是在現有的表格之前插入新的表格)。另外另一條線可以被丟棄 –

相關問題