Я хочу добавить столбец в конец существующего файла Excel с помощью Microsoft.Office.Interop.Excel в c#, я использую Microsoft Excel 2007, вот мой код:
public void UpdateExcel_MSInterop(
string ExcelFile)
{
Microsoft.Office.Interop.Excel.Application xlApp = null;
Workbook xlWorkbook = null;
try
{
//define ms excel application
xlApp = new Microsoft.Office.Interop.Excel.Application();
//
int Hwnd = xlApp.Hwnd;
xlApp.DisplayAlerts = false;
//
xlWorkbook = xlApp.Workbooks.Open(ExcelFile, Type.Missing, true);
int SheetIndex = 1;
foreach (Worksheet objSHT in xlWorkbook.Worksheets)
{
if (SheetIndex == 1)// ExcelSheetFullName.Substring(0, ExcelSheetFullName.Length - 1))
{
Range rng = objSHT.UsedRange;
int colCount = rng.Columns.Count;
int rowCount = rng.Rows.Count;
Range newRng = objSHT.get_Range(objSHT.Cells[1, 1], objSHT.Cells[1, colCount]).EntireColumn.Insert(Missing.Value,XlInsertShiftDirection.xlShiftToRight);
newRng.Cells[1, colCount + 1] = "State";
for (int r = 2; r <= rowCount; r++)
{
newRng.Cells[r, colCount + 1] = Products.Rows[r - 2]["state"].ToString();
}
break;
}
SheetIndex++;
}
xlWorkbook.Save();
if (xlWorkbook != null)
xlWorkbook.Close(SaveChanges:true);
if (xlApp != null)
xlApp.Quit();
}
catch (Exception ex)
{
if (xlWorkbook != null)
xlWorkbook.Close();
if (xlApp != null)
xlApp.Quit();
xlWorkbook = null;
xlApp = null;
MessageBox.Show(ex.Message + "\n" + ex.StackTrace.ToString());
throw ex;
}
}
Я получаю сообщение об ошибке:
object dose not contain a definition for get_Range
Как исправить эту ошибку или, если мой подход неверен, как добавить столбец в конец существующего файла Excel, приведите пример, спасибо за помощь.