簡體   English   中英

將數據寫入Excel中的單元格,C#

[英]Writing data to cells in Excel, C#

從Excel單元格讀取工作完美。 但我有問題,將新數據寫入工作表3和單元格[8,2] ..如何修復此代碼?

我收到錯誤:

System.Runtime.InteropServices.COMException:文件不可用。

但是我可以使用其他按鈕從這個文件中讀取。

xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Open("C:\\Base.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(3);

// range = xlWorkSheet.UsedRange;

//  Object[,] saRet;
//  saRet = (System.Object[,])range.get_Value(Missing.Value);

xlWorkSheet.Cells[8, 2] = "Salary";

xlWorkBook.Close(true, null, null);
xlApp.Quit();

releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);

我設置單元格內容的方式如下:

 xlWorkSheet.Cells[8, 2].Value = "Salary";

我正在使用Excel 2010。

您不能將范圍設置為字符串:

xlWorkSheet.Cells[8, 2] = "Salary"; 

嘗試類似的東西:

xlRange = (Excel.Range) xlWorkSheet.Cells[8, 2];
xlRange.Value = "Salary";

你的代碼似乎沒問題。 問題可能在於文件。

在Excel中打開文件。 你看到任何寫保護信息嗎? 確保您能夠手動修改其內容並保存文件。 試一下。

在此輸入圖像描述

您正在以只讀模式打開Excel文件。

xlApp.Workbooks.Open("C:\\Base.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

並且您將可編輯設置為false。 這可能是您無法編輯文件的原因......

xlApp.Workbooks.Open("C:\\Base.xls", 0, false, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", true, false, 0, true, 1, 0);

看看代碼中的這一行:

xlWorkBook = xlApp.Workbooks.Open("C:\\Base.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

第三個參數定義是你的文件應該以只讀方式打開。 您將其設置為true,這樣您就無法修改文件。 我認為這就是為什么你有一個錯誤“文件不可用”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM