web表格用excel导出

简介: web表格用excel导出

网页上的表格有时需要导出存储。

需要用到java的一个工具包jxl.jar,地址https://download.csdn.net/download/bushqiang/10320406

 

1.网页上的table

<a href="export">导出表格</a>
  <table border="5">
    <tr>
      <th>Month</th>
      <th>money</th>
    </tr>
    <tr>
      <td>January</td>
      <td>10000</td>
    </tr>
    <tr>
      <td>February</td>
      <td>8000</td>
    </tr>
  </table>

2.后台的Servlet

  @RequestMapping("/export")
  public void export(HttpServletRequest request, HttpServletResponse response) throws IOException {
    String path=export();
    System.out.println(path);
    response.sendRedirect("/contestForxls/" + path);
  }

3.java创建表格的方法

public static String export() {
    //生成xls的位置,要在webapps下,下载时才能访问的到
    final String exportPath = "D:\\OnlineJudge\\tomcat_normal\\webapps\\contestForxls\\";
    // 添加标题
    List<String> title = new ArrayList<String>();
    title.add("month");
    title.add("money");
    OutputStream os = null;
    // 输出的excel的路径
    String filePath = exportPath + "test.xls";
    try {
      //如果文件夹不存在就创建
      File baseFile = new File(exportPath);
      if (!baseFile.exists()) {
        baseFile.createNewFile();
      }
      //如果文件夹存在就删除
      File exportFile = new File(filePath);
      if (exportFile.exists()) {
        exportFile.delete();
      }
      // Excel单元格的一些样式
      WritableCellFormat wcCenter = new WritableCellFormat();
      wcCenter.setAlignment(Alignment.CENTRE);
      WritableCellFormat wcCenterRed = new WritableCellFormat();
      wcCenterRed.setAlignment(Alignment.CENTRE);
      wcCenterRed.setBorder(Border.ALL, BorderLineStyle.THIN);
      wcCenterRed.setBackground(jxl.format.Colour.RED);
      WritableCellFormat wcCenterGreen = new WritableCellFormat();
      wcCenterGreen.setAlignment(Alignment.CENTRE);
      wcCenterGreen.setBorder(Border.ALL, BorderLineStyle.THIN);
      wcCenterGreen.setBackground(jxl.format.Colour.GREEN);
      // 创建Excel工作薄
      WritableWorkbook wwb;
      // 新建立一个jxl文件,即生成.xls文件
      os = new FileOutputStream(filePath);
      wwb = Workbook.createWorkbook(os);
      // 添加第一个工作表并设置第一个Sheet的名字
      WritableSheet sheet = wwb.createSheet("test", 0);
      Label label;
      for (int i = 0; i < title.size(); i++) {
        // Label(x,y,z) 代表单元格的第x+1列,第y+1行, 内容z
        // 在Label对象的子对象中指明单元格的位置和内容
        label = new Label(i, 0, title.get(i), wcCenter);
        // 将定义好的单元格添加到工作表中
        sheet.addCell(label);
      }
      // 下面往xls表格里面填充数据,是一行一行的添加
      int row = 1;// 行,第0行给标题占用了
      //第一行
      int col = 0;// 列
      label = new Label(col++, row, "January", wcCenter);
      sheet.addCell(label);
      label = new Label(col++, row, "10000", wcCenter);
      sheet.addCell(label);
      //第二行
      row++;
      col = 0;// 列
      label = new Label(col++, row, "February", wcCenter);
      sheet.addCell(label);
      label = new Label(col++, row, "8000", wcCenter);
      sheet.addCell(label);
      // 写入数据
      wwb.write();
      // 关闭文件
      wwb.close();
      int index = filePath.lastIndexOf('\\');
      if (index != -1) {
        filePath = filePath.substring(index + 1);
      }
      return filePath;
    } catch (Exception e) {
      System.out.println("导出错误!");
      e.printStackTrace();
      // return "导出错误!";
      return null;
    } finally {
      if (os != null) {
        try {
          os.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }

4.第三步就直接可以创建一个excel表格了,生成的数据是写死的,项目中的一般都是从数据库中获取,前端表格也应该是从数据库中获取。效果图。

微信图片_20221213180150.png

微信图片_20221213180241.png

poi的方式:https://www.jianshu.com/p/dd1e4f28757b

https://www.cnblogs.com/staticking/p/9914042.html

相关文章
|
4月前
|
移动开发 JavaScript
(H5查看CAD)网页CAD提取图纸表格到excel
本文介绍如何通过自定义MxCAD插件,在Web端智能识别CAD图纸中的表格,实现自动合并与高效导出至Excel,提升数据提取效率与准确性。内容涵盖区域选择、图形识别、表格结构重建、单元格合并及内容导出等关键技术,适用于工程图纸数据自动化处理场景。
|
5月前
|
Python
Excel中如何批量重命名工作表与将每个工作表导出到单独Excel文件
本文介绍了如何在Excel中使用VBA批量重命名工作表、根据单元格内容修改颜色,以及将工作表导出为独立文件的方法。同时提供了Python实现导出工作表的代码示例,适用于自动化处理Excel文档。
|
6月前
|
Java 测试技术 数据库
spring号码归属地批量查询,批量查询号码归属地,在线工具,可按省份城市运营商号段分类分开分别导出excel表格
简介:文章探讨Spring Boot项目启动优化策略,通过自定义监听器、异步初始化及分库分表加载优化等手段,将项目启动时间从280秒缩短至159秒,提升约50%,显著提高开发效率。
|
9月前
|
JavaScript 前端开发 数据可视化
20.6K star!Excel级交互体验!这款开源Web表格神器绝了!
Handsontable 是一款功能强大的 JavaScript 数据表格组件,提供类 Excel 的交互体验。支持实时协作、数据绑定、公式计算等企业级功能,可轻松集成到 React/Vue/Angular 等主流框架。
1649 11
|
9月前
|
人工智能 数据可视化 前端开发
Probly:开源 AI Excel表格工具,交互式生成数据分析结果与可视化图表
Probly 是一款结合电子表格功能与 Python 数据分析能力的 AI 工具,支持在浏览器中运行 Python 代码,提供交互式电子表格、数据可视化和智能分析建议,适合需要强大数据分析功能又希望操作简便的用户。
1204 2
|
数据格式 UED
记录一次NPOI库导出Excel遇到的小问题解决方案
【11月更文挑战第16天】本文记录了使用 NPOI 库导出 Excel 过程中遇到的三个主要问题及其解决方案:单元格数据格式错误、日期格式不正确以及合并单元格边框缺失。通过自定义单元格样式、设置数据格式和手动添加边框,有效解决了这些问题,提升了导出文件的质量和用户体验。
957 3
|
前端开发
实现Excel文件和其他文件导出为压缩包,并导入
实现Excel文件和其他文件导出为压缩包,并导入
255 1
|
SQL 数据可视化 数据挖掘
想让Excel表格设计更美观?试试这几款好用工具!
Excel表格设计在项目管理和数据分析中至关重要。本文推荐四款辅助工具:板栗看板、Excel自动图表助手、Think-Cell Chart 和 Power BI,分别在任务管理、图表生成、数据可视化等方面表现突出,帮助你设计出更专业、美观的表格。
1233 2
|
Java API Apache
|
5月前
|
Python
如何根据Excel某列数据为依据分成一个新的工作表
在处理Excel数据时,我们常需要根据列值将数据分到不同的工作表或文件中。本文通过Python和VBA两种方法实现该操作:使用Python的`pandas`库按年级拆分为多个文件,再通过VBA宏按班级生成新的工作表,帮助高效整理复杂数据。

热门文章

最新文章