普通的MS Office Excel只能在本地磁盘上打开和编辑保存,这使得程序员在开发项目时受到很多的约束,许多的功能无法实现或者无法达到理想的效果。但是通过调用PageOffice开发平台,不仅可以在线打开并保存Excel文件还可以提交Excel中的数据。

下面我就简单的和大家分享一下如何实现Excel文档的在线打开、编辑、保存和数据的提交。

第一步:请先安装PageOffice的服务器端的安装程序,之后在你的网站中根目录下添加pageoffice文件夹(在PageOffice官方网站的“下载中心”中可下载相应的压缩包,解压之后直接将PageOffice实例代码里的pageoffice文件夹拷贝到根目录下就可以了)。

第二步:在网站中创建动态页面Excel.aspx。在工具箱中拖动一个PageOfficeCtrl控件到页面上(PageOfficeCtrl控件位于工具箱最下方),并设置控件所在层(<div></div>)的高和宽。

第三步:Excel.aspx页面编写代码,打开Excel文档。部分代码如下:

//设置PageOfficeCtrl控件的服务页面

PageOfficeCtrl1.ServerPage = "../pageoffice/server.aspx";

PageOfficeCtrl1.AddCustomToolButton("保存""Save()", 1);

//定义Workbook对象

PageOffice.ExcelWriter.Workbook workBook = new PageOffice.ExcelWriter.Workbook();

//定义Sheet对象,"Sheet1"是打开的Excel表单的名称

PageOffice.ExcelWriter.Sheet sheet = workBook.OpenSheet("Sheet1");

//定义table对象,设置table对象的设置范围

PageOffice.ExcelWriter.Table table = sheet.OpenTable("B4:F13");

//设置table对象的提交名称,以便保存页面获取提交的数据

table.SubmitName = "Info";

PageOfficeCtrl1.SetWriter(workBook);

PageOfficeCtrl1.SaveDataPage = "SaveData.aspx";

//打开Excel文件

PageOfficeCtrl1.WebOpen("doc/test.xls", PageOffice.OpenModeType.xlsSubmitForm, "操作人姓名");

说明:若想提交数据需将属性OpenModeType的类型设置为xlsSubmitForm提交类型

Excel.aspx页面添加JS函数Save(),如下:

function SaveFile() {

document.getElementById("PageOfficeCtrl1").WebSave();

}

如上所述,简单的就实现了Excel文档的在线打开并提交的操作。接下来开始编写保存页面。

第四步:添加保存页面。在网站中添加动态页面SaveData.aspx,在后台页面中编写代码处理Word文档提交的数据,部分代码如下:

PageOffice.ExcelReader.Workbook workBook = new PageOffice.ExcelReader.Workbook();

//打开提交的表单

PageOffice.ExcelReader.Sheet sheet = workBook.OpenSheet("Sheet1");

//打开提交的Table

PageOffice.ExcelReader.Table table = sheet.OpenTable("Info");

//是否提交了数据

while (!table.EOF)

{

//获取提交的数值

//DataFields.Count标识的是提交过来的table的列数

if (!table.DataFields.IsEmpty)//提交的Table是否为空

{

content += "<br/>月份名称:" + table.DataFields[0].Text;

... ...

... ...

}

//循环进入下一行

table.NextRow();

}

table.Close();

workBook.Close();

至此,就简单的实现了从Excel文档导出提交数据了。

方案总结:

上述的示例主要是借助了PageOffice开发平台的PageOfficeCtrl控件,利用该控件还可实现在Excel文件中添加手写批注、加盖电子印章等功能。另外,在PageOffice平台下还可实现WordPPTPDF等文档的在线打开、编辑保存,Word文档到PDF文档的转换等等各种操作,很好地解决了开发OA系统的程序员的一大技术难题。