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

相关文章
|
3月前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
205 5
|
5天前
|
文字识别 BI
【图片型PDF】批量识别扫描件PDF指定区域局部位置内容,将识别内容导出Excel表格或批量改名文件,基于阿里云OCR对图片型PDF识别改名案例实现
在医疗和政务等领域,图片型PDF文件(如病历、报告、公文扫描件)的处理需求广泛。通过OCR技术识别这些文件中的文字信息,提取关键内容并保存为表格,极大提高了信息管理和利用效率。本文介绍一款工具——咕嘎批量OCR系统,帮助用户快速处理图片型PDF文件,支持区域识别、内容提取、导出表格及批量改名等功能。下载工具后,按步骤选择处理模式、进行区域采样、批量处理文件,几分钟内即可高效完成数百个文件的处理。
39 8
|
3月前
|
前端开发
实现Excel文件和其他文件导出为压缩包,并导入
实现Excel文件和其他文件导出为压缩包,并导入
50 1
|
3月前
|
数据格式 UED
记录一次NPOI库导出Excel遇到的小问题解决方案
【11月更文挑战第16天】本文记录了使用 NPOI 库导出 Excel 过程中遇到的三个主要问题及其解决方案:单元格数据格式错误、日期格式不正确以及合并单元格边框缺失。通过自定义单元格样式、设置数据格式和手动添加边框,有效解决了这些问题,提升了导出文件的质量和用户体验。
322 3
|
3月前
|
SQL 数据可视化 数据挖掘
想让Excel表格设计更美观?试试这几款好用工具!
Excel表格设计在项目管理和数据分析中至关重要。本文推荐四款辅助工具:板栗看板、Excel自动图表助手、Think-Cell Chart 和 Power BI,分别在任务管理、图表生成、数据可视化等方面表现突出,帮助你设计出更专业、美观的表格。
141 2
|
3月前
|
Java API Apache
|
3月前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
169 4
|
4月前
|
JavaScript 前端开发 数据处理
Vue导出el-table表格为Excel文件的两种方式
Vue导出el-table表格为Excel文件的两种方式
223 6
|
2月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
296 10
|
4月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
255 4

热门文章

最新文章

  • 1
    【图片型PDF】批量识别扫描件PDF指定区域局部位置内容,将识别内容导出Excel表格或批量改名文件,基于阿里云OCR对图片型PDF识别改名案例实现
  • 2
    部署使用 CHAT-NEXT-WEB 基于 Deepseek
  • 3
    springSecurity学习之springSecurity过滤web请求
  • 4
    FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
  • 5
    【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
  • 6
    WEB 版的报表工具有没有意义?
  • 7
    java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
  • 8
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
  • 9
    零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
  • 10
    【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版