C#操作EXCEL表中,改变单元格内容的方法:
一种是通过单元格所在行、列来确定
eg:
...
private Excel.Worksheet sheetObj;
sheetObj.Cells[RowIndex,ColIndex] = UpdateStr;
...
但,如何通过单元格名(如"D2")来修改呢?请指教!谢谢!
一种是通过单元格所在行、列来确定
eg:
...
private Excel.Worksheet sheetObj;
sheetObj.Cells[RowIndex,ColIndex] = UpdateStr;
...
但,如何通过单元格名(如"D2")来修改呢?请指教!谢谢!
/*
Microsoft.Office.Interop.Excel.Application newXls = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook obj = newXls.Application.Workbooks.Add(true);
newXls.Cells[1, 2] = "hei,chrovan!";
// newXls.Workbooks.Add(@"f:\表.xls");
newXls.Visible = false;
obj.SaveAs(@"f:\xx.xls", Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel9795, null, null, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, null, null, null, null,null);
newXls.Application.Quit();
*/
你说的这种方法:
newXls.Cells[1, 2] = "hei,chrovan!";
我已知道,我是想除此(行、列)之外,通过单元格名称("D2"等),来进行修改????
eg:实现如下方法:
public void EditCellContent( string RangeName, string UpdateStr )我做这些是为了想写一个操作EXCEL名的类,这样以后用起来也方便些。谢谢!
另外为何我这个删除Sheet的方法不能正常删除呢?private Excel.Application appObj;
private Excel.Workbook bookObj;
private Excel.Worksheet sheetObj;//通过Sheet名称删除Sheet
public bool DeleteSheet( string sheetName )
{
bool hasSheet = false;
for(int i=0; i<appObj.Worksheets.Count; i++)
{
sheetObj = (Excel.Worksheet)appObj.Worksheets[i+1];
if (sheetObj.Name == sheetName)
{
sheetObj.Delete();
hasSheet = true;
break;
}
}
return hasSheet;
}//通过Sheet索引删除Sheet
public bool DeleteSheet( int index )
{
bool hasSheet = false;
if ( appObj.Worksheets.Count < index )
hasSheet = false;
else
{
sheetObj = (Excel.Worksheet)appObj.Worksheets[index];
sheetObj.Delete();
hasSheet = true;
}
return hasSheet;
}
请指教!
public void EditCellContent( string RangeName, string UpdateStr )
{
sheetObj.get_Range(RangeName, RangeName).Value2 = UpdateStr;
}
但删除哪里存在问题呢?请指教 !