2012-03-12 68 views
1

在我的c#程序中,我使用excel add来将数据写入excel文件,下面只是我尝试访问excel表格的一个示例。Excel加载项,如何写入excel表格

private void button1_Click(object sender, EventArgs e) 
     { 
       Excel.Application xl_app = (Microsoft.Office.Interop.Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application"); 
       Excel.Workbook xl_workbook = null; 
       xl_workbook = xl_app.ActiveWorkbook; 
       Excel.Worksheet sheet = null; 
       sheet = (Excel.Worksheet)xl_workbook.Worksheets.get_Item("Sheet1"); 
       sheet.Cells[1, 1] = "Name"; 

     } 

当运行此我得到一个错误说“对象引用不设置为一个对象的一个​​实例”为片状物体。(我已经使用这些的Microsoft.Office.Interop.Excel, Microsoft.Office。核心;)进出口新的C#,任何人都可以帮我这个,感谢

回答

0
sheet = (Excel.Worksheet)xl_workbook.Worksheets.get_Item(1); 
0

如果你想使用的板材,而不是指数的名称和您使用Linq如下:

var xlSheet = xl_workbook.Cast<_Worksheet>().FirstOrDefault(x => x.Name == "Sheet1") 

如果表中没有找到xlsheet变量将是无效

0

这是我会怎么做:

private void button1_Click(object sender, EventArgs e) 
{ 
    Excel.Application xlApp = (Microsoft.Office.Interop.Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application"); 
    Excel.Workbook xlWorkbook = xlApp.ActiveWorkbook; 
    Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[1]; 
    xlWorksheet.Cells[1,1] = "Name"; 
} 

我用Visual C#2010 Express和开放的Excel工作簿测试,它为我的作品。

0

没有人回答,因此正确答案,我检查了它和它的工作:

Excel.Worksheet activeWorksheet = ((Excel.Worksheet)Application.ActiveSheet); 
Excel.Range firstRow = activeWorksheet.get_Range("A1"); 
firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown); 
Excel.Range newFirstRow = activeWorksheet.get_Range("A1"); 
newFirstRow.Value2 = "This text was added by using code"; 
0
Excel.Application xlAppToExport = new Excel.Application(); 
xlAppToExport.Workbooks.Add(""); 

Excel.Worksheet xlWorkSheetToExport; 

xlWorkSheetToExport =(Excel.Worksheet)xlAppToExport.Application.Worksheets.Add(); 
xlWorkSheetToExport.Name = "customer"; 
相关问题