资讯专栏INFORMATION COLUMN

6.3、Excel 视图示例

Kross / 370人阅读

摘要:第一行的行号是创建一个单元格,并为单元格设置值也可以在同一行代码中做到构建工作簿完成配置视图解析器首先,在应用程序上下文中配置一个注意到上面配置的指向一个文件。

  这个示例见这个项目的 mvc 分支下的 VestXlsViewController.java

1)首先创建一个 Xls 视图类
package com.techmap.examples.view;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.WorkbookUtil;
import org.springframework.web.servlet.view.document.AbstractXlsView;

/**
 * 这里只处理 xls 格式的 Excel。
 * 

* Spring 提供的其他相关支持见包 org.springframework.web.servlet.view.* *

* 更多Xls文件操纵示例见 Apache POI 官方文档 * * @author Angrynut * */ public class XlsView extends AbstractXlsView { private static Logger log = Logger.getLogger(XlsView.class); @Override protected void buildExcelDocument(Map model, Workbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception { log.debug("------> 开始构建 xls 工作簿"); // 你可以通过请求来处理请求参数 CreationHelper createHelper = workbook.getCreationHelper(); if(workbook.getNumberOfSheets() == 0) { String safeName = WorkbookUtil.createSafeSheetName("Spring Sheet"); Sheet sheet = workbook.createSheet(safeName); // 创建一个行,把单元格放到行中。第一行的行号是 0 Row row = sheet.createRow((short) 0); // 创建一个单元格,并为单元格设置值 Cell cell = row.createCell(0); cell.setCellValue(1); // 也可以在同一行代码中做到 row.createCell(1).setCellValue(1.2); row.createCell(2).setCellValue( createHelper.createRichTextString("This is a string")); row.createCell(3).setCellValue(true); } log.debug("------> 构建 xls 工作簿完成"); } }

2)配置视图解析器

  首先,在应用程序上下文中配置一个XmlViewResolver

    
        
        
    

  注意到上面配置的XmlViewResolver指向一个mvc-views.xml文件。这个mvc-views.xml文件是一个 Spring 配置文件,在这个文件中,配置我们上面定义的XlsView类的 Bean,要指定 id,后面会使用。下面在类路径下添加这个文件:




    

    

3)编写控制器
@Controller
@RequestMapping("/excel/view")
public class VestXlsViewController
{
    @GetMapping("/xls")
    public String getXls() { return "xlsview"; }
}

  注意,这个控制器返回的是在mvc-views.xml文件中配置的 Bean 的 id。

4)测试

  在浏览器中发送请求excel/view/xls后,浏览器会产生一个下载 xls 文件提醒。下载这个 xls 文件查看结果。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66101.html

相关文章

  • 在线Excel开发之新人学习笔记 - 工作簿2

    摘要:支持以下自定义特性的序列化与反序列化自定义单元格类型,自定义函数,自定义格式,自定义函数迷你图,自定义标签,以及自定义行筛选。 Spread JSON 导入导出 在SpreadJS表单控件中可以导入导出JSON数据,收集界面的录入数据, 数据源序列化 若要将表单中的数据源序列化到JSON对象中,可以设置参数includeBindingSource: true,若未设置默认为false....

    cgspine 评论0 收藏0
  • Spread Studio 跨平台表格控件v11.1正式发布,让数据用 Excel 的方式说话

    摘要:为函数提供语法支持为和行为一致,计算函数现在使用语法对值进行格式设置替代了过去使用语法。在这种情况下,客户端接口和将不起作用。也于近日发布了新版本,敬请点击此处了解更多。 超强数据处理,无缝兼容Excel!Spread Studio是一款高度兼容 Excel 的跨平台表格控件,用于在您的应用系统中实现表格数据录入和编辑等交互功能,并且提供灵活的定制能力和丰富的数据可视化效果,为商业表单...

    Awbeci 评论0 收藏0
  • Spread Studio 跨平台表格控件v11.1正式发布,让数据用 Excel 的方式说话

    摘要:为函数提供语法支持为和行为一致,计算函数现在使用语法对值进行格式设置替代了过去使用语法。在这种情况下,客户端接口和将不起作用。也于近日发布了新版本,敬请点击此处了解更多。 超强数据处理,无缝兼容Excel!Spread Studio是一款高度兼容 Excel 的跨平台表格控件,用于在您的应用系统中实现表格数据录入和编辑等交互功能,并且提供灵活的定制能力和丰富的数据可视化效果,为商业表单...

    jifei 评论0 收藏0

发表评论

0条评论

Kross

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<