PageOfficeV6.0提取在线编辑保存的excel单元格数据

发布时间 2024-01-10 13:56:09作者: 爱吃苹果皮

转载:提取单元格数据

提取单元格数据

注意

本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。

在实际的开发过程中,经常会遇到提取Excel文档中数据保存到数据库中的需求,PageOffice客户端控件支持在线保存Excel文件时,打包Excel文档中的指定单元格的数据或所有的数据提交到服务器端,在服务器端创建PageOffice的ExcelReader命名空间中的Workbook对象,就可以获取到Excel单元格中的数据。

后端代码

在后端编写代码调用webOpen方法以表单提交模式xlsSubmitForm打开文件,创建Sheet对象并操作一个Cell单元格,并设置SubmitName,如:cellB2.setSubmitName("UserName");

设置接收处理PageOffice客户端控件提交数据的服务器端后台方法为:saveData

    PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
    Workbook workBook = new Workbook();
    Sheet sheet = workBook.openSheet("Sheet1");
    Cell cell = sheet.openCell("B2");
    cell.setSubmitName("UserName"); //设置此单元格需要提交,且名称为:UserName
    poCtrl.setWriter(workBook);//此行必须poCtrl.setSaveDataPage("saveData");//此行必须
    //webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
    //查看详细,请在本站搜索“PageOffice属性或方法中涉及到的URL路径或磁盘路径的说明”
    poCtrl.webOpen("D:\\documents\\test.xlsx", OpenModeType.xlsSubmitForm, "张三");
    

    在服务器端后台方法saveData中,创建com.zhuozhengsoft.pageoffice.excelreader命名空间中的Workbook对象,提取单元格数据。您可以在此方法中编写代码,把获取到的数据保存到对应的数据库表中。

      Workbook workBook = new Workbook(request, response);
      Sheet sheet = workBook.openSheet("Sheet1");
      Cell cell = sheet.openCell("UserName");
      String content = "UserName:" + cell.getValue();
      // 非必须。此处只是为了展示一下后台获取到的各个单元格数据response.setCharacterEncoding("UTF-8");
      response.setContentType("text/html;charset=UTF-8");
      response.getWriter().println(content);
      workBook.showPage(500, 400); workBook.close();
      

      前端代码

      本示例无前端关键代码。