我创建Silverlight应用程序,在将网格导出到Excel时,我需要打开一个新的Excel工作表,但我无法在silverlight中打开一个新的Excel。我正在使用Telerik控件,在他们的示例中,他们正在保存一个新的Excel,然后输出数据。但是我的客户端不需要在导出Grid数据之前执行保存操作。 流程应如下所示: 1.打开新的Excel(Excel应该在屏幕前面) 2.出口数据 3.保存excel是最终用户的选择。
最终用户可能会也可能不会根据需要保存Excel表格。
任何人都可以帮我解决这个问题。
谢谢
答案 0 :(得分:1)
private void button8_Click(object sender, RoutedEventArgs e)
{
dynamic excelApp;
excelApp = AutomationFactory.CreateObject("Excel.Application");
excelApp.Visible = true;
dynamic workbook = excelApp.workbooks;
workbook.Add();
dynamic sheet = excelApp.ActiveSheet;
dynamic cell = null;
int index = 1;
foreach (unite emp in dataGrid1.ItemsSource)
{
cell = sheet.Cells[index, 1];
cell.Value = emp.unite_description;
cell = sheet.Cells[index, 2];
//cell.Value = emp.EmployeeId;
//cell = sheet.Cells[index, 3];
//cell.Value = emp.Department;
index++;
}
}
当我遇到与你相同的问题时,我发现这就是你所要求的。 (可能不需要将变量声明为动态)
答案 1 :(得分:0)
使用excellite库。它是一个适用于读取和写入Excel文件的免费工具。 你可以听到:http://excellite.codeplex.com/