[英]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.