silverlight导出excel

时间:2023-03-09 05:52:42
silverlight导出excel

开发导出excel,首先需要添加项目引用。

Microsoft.CSharp

这个是应用dynamic的前提。

在代码页,需要添加引用

using System.Runtime.InteropServices.Automation;

以下是我具*作业务导出的其中一个功能的代码,供大家参考。

private ICommand _excelCommand;
public ICommand ExcelCommand
{
get
{
if (_excelCommand == null)
{
_excelCommand = new RelayCommand<Grid>((g) =>
{
dynamic excel = AutomationFactory.CreateObject("Excel.Application");
excel.Visible = true;
dynamic workbook = excel.workbooks;
workbook.Add();
dynamic sheet = excel.ActiveSheet;
dynamic cell = null;
int i = ;
// 将数据传输到Excel
foreach (BusinessBillOutModel item in SelectItems)
{
//ItemCollection.Add(item); //销售日期
cell = sheet.Cells[i, ]; // 列和行
cell.Value = item.BillDate;
cell.ColumnWidth = ;
//名称
cell = sheet.Cells[i, ];
cell.Value = SettingSpace.CodeNameConvert(GlobalEnum.BaseType.BasePart, item.PartCode);
//金额
cell = sheet.Cells[i, ];
cell.Value = item.TotalPrice;
//班组
cell = sheet.Cells[i, ];
cell.Value = SettingSpace.CodeNameConvert(GlobalEnum.BaseType.TeamWork,item.TeamWork);
//收款员(里台员)
cell = sheet.Cells[i, ];
cell.Value = SettingSpace.CodeNameConvert(GlobalEnum.BaseType.UserType,item.SellPerson);
//司机
cell = sheet.Cells[i, ];
cell.Value = SettingSpace.CodeNameConvert(GlobalEnum.BaseType.UserType,item.AgentPerson);
//备注
cell = sheet.Cells[i, ];
cell.Value = item.BillRemark; i++;
}
});
} return _excelCommand;
}
}

//开发过程中遇到的问题。

在开发silverlight导出excel时遇到【此操作在当前上下文中不受支持】,最后调试成功,具体原因,是在项目的属性设置中没有勾选一个选项,具体参看截图。

silverlight导出excel

点击 浏览器外设置,在弹出界面勾选 在浏览器之外运行时需要提升的信任。即可解决

silverlight导出excel