Excel Services
1.SharePoint平台上的一组新的服务器组件
2.服务器端的Excel计算引擎
3.通过web浏览器访问电子表格
4.与Excel计算引擎交互的web service接口
使Excel表格可以通过Web访问步骤
1.在Sharepoint2007管理中心->应用程序管理->新建SSP
2.点击新建好的ShareServices->Excel Services设置下的受信任文件位置->添加受信任文件位置->输入受信任文件地址如http://huyifeng:9001/sites/wodeweb/Reports/ReportsLibrary/ 选择受信任的子级确定即可
3.新建一个工资计算的Excel 并将其上传到报告库中
4.选择该文档->在Web浏览器中查看 发现文档无法编辑
5.要想编辑文档需先打开该Excel 点击Excel左上角图标->发布->文档管理服务器->输入保存路径(路径为报告库路径)
6.给需要用户输入值单元格命名
7.点击Excel左上角图标->发布->Excel Services->Excel Services选项->在显示选项卡中选择要显示的Sheet 在参数选项卡中添加命名的参数确定即可
8.此时会自动弹出Excel会发现右边会出现参数
WinowsApp应用程序调用ExcelWebService来实现计算功能
1.新建一个Window窗体应用程序,添加Web服务引用 输入地址:http://huyifeng:9001/_vti_bin/Excelservice.asmx
2.输入引用名字ExeclService 添加引用即可
3.以一个工资计算为例:在窗体上拖入如下界面
4.在计算的单击事件下写如下代码:
using ES = ExcelApp.ExcelService;
namespace ExcelApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
ES.ExcelService ws = new ExcelApp.ExcelService.ExcelService();
ws.Credentials = System.Net.CredentialCache.DefaultCredentials;
ES.Status[] status = null;
string sessID = ws.OpenWorkbook(txtAddr.Text, "zh-cn", "zh-cn", out status);
try
{
ws.SetCellA1(sessID, "Sheet1", "gongzi", txtSalary.Text);
ws.SetCellA1(sessID, "Sheet1", "jiangjin",txtBonus.Text);
ws.SetCellA1(sessID, "Sheet1", "koushui", txtDuty.Text);
ws.CalculateWorkbook(sessID, ExcelApp.ExcelService.CalculateType.Recalculate);
//获取计算的结果
Object result = ws.GetCellA1(sessID, "Sheet1", "shifa", true, out status);
MessageBox.Show(result.ToString());
}
finally
{
ws.CloseWorkbook(sessID);
}
}
}
}
注意
如上示例计算的方法是根据Excel中定义的公式计算地.gongzi jiangjin 这些都是Excel中定义的名字要一一对应
地址是指Excel文档在Sharepoint网站上的地址
该代码在VS2005上运行有效