当前位置: 首页 > news >正文

网站建设怎么帝国做的网站根目录

网站建设怎么,帝国做的网站根目录,广州市软件开发有限公司,wordpress 仿论坛主题一、Easyexcel 简介 EasyExcel是一个基于Java的Excel处理工具库#xff0c;它的核心设计理念是快速、简洁#xff0c;并且能够有效解决处理大文件时的内存溢出问题。使用EasyExcel#xff0c;开发者可以在几乎不需要考虑性能和内存消耗的情况下#xff0c;轻松实现Excel文…一、Easyexcel 简介 EasyExcel是一个基于Java的Excel处理工具库它的核心设计理念是快速、简洁并且能够有效解决处理大文件时的内存溢出问题。使用EasyExcel开发者可以在几乎不需要考虑性能和内存消耗的情况下轻松实现Excel文件的读写操作。 Easyexcel 官方文档https://easyexcel.opensource.alibaba.com/docs/current/github地址https://github.com/alibaba/easyexcelgitee地址https://gitee.com/easyexcel/easyexcel 二、为何选择 Easyexcel 1. 现有框架的问题 Apache POI 和 jxl: 这两个Java框架用于解析和生成Excel文件但它们的主要问题是内存消耗大。内存溢出问题: 处理大型Excel文件时这些框架可能会消耗大量内存导致内存溢出。 2. Apache POI 的局限性 SAX模式: Apache POI 提供了SAX模式的API来部分解决内存问题但仍然存在不足。内存消耗: 即使使用SAX模式Apache POI 在处理Excel 2007版.xlsx文件时由于解压缩和存储过程在内存中进行内存消耗依然很大。 3. EasyExcel 的优势 重写解析: EasyExcel 重写了Apache POI对Excel 2007版的解析方式显著降低了内存消耗。内存优化: 一个3MB的Excel文件在使用Apache POI的SAX模式解析时可能需要约100MB内存而EasyExcel可以将内存需求降低到几MB。大文件处理: 使用EasyExcel即使更大的Excel文件也不会导致内存溢出。03版Excel处理: 对于Excel 2003版.xlsEasyExcel依赖于Apache POI的SAX模式并在此基础上进行了模型转换封装使得使用更加简单和方便。 三、Springboot 项目集成 EasyExcel 1. pom 文件引入依赖 dependency groupIdcom.alibaba/groupId artifactIdeasyexcel/artifactId version3.1.0/version !-- 请检查并使用最新版本 -- /dependency2. 实体类例如 UserData import com.alibaba.excel.annotation.ExcelProperty; public class UserData { ExcelProperty(value ID, index 0) private Integer id; ExcelProperty(value 姓名, index 1) private String name; ExcelProperty(value 年龄, index 2) private Integer age; // 省略 getter 和 setter 方法 // ... }3. EasyExcel 操作帮助类 import com.alibaba.excel.EasyExcel; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.read.builder.ExcelReaderBuilder; import com.alibaba.excel.read.builder.ExcelReaderSheetBuilder; import com.alibaba.excel.write.builder.ExcelWriterBuilder; import com.alibaba.excel.write.builder.ExcelWriterSheetBuilder; import com.alibaba.excel.write.metadata.WriteSheet; import org.springframework.web.multipart.MultipartFile; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; public class EasyExcelUtils { // 导出 Excel public static byte[] exportExcel(List? data, String sheetName, Class? head) { try (ByteArrayOutputStream out new ByteArrayOutputStream()) { ExcelWriterBuilder writerBuilder EasyExcel.write(out, head); ExcelWriterSheetBuilder sheetBuilder writerBuilder.sheet(sheetName); WriteSheet writeSheet sheetBuilder.build(); EasyExcel.write(out, data, writeSheet).finish(); return out.toByteArray(); } catch (IOException e) { throw new RuntimeException(导出 Excel 失败, e); } } // 导入 Excel public static T ListT importExcel(MultipartFile file, ClassT clazz) { try (InputStream inputStream file.getInputStream()) { ExcelReaderBuilder readerBuilder EasyExcel.read(inputStream, clazz, new AnalysisEventListenerT() { private ListT list new ArrayList(); Override public void invoke(T data, AnalysisContext context) { list.add(data); } Override public void doAfterAllAnalysed(AnalysisContext context) { // 数据解析完成后可以在这里处理解析结果 } }); ExcelReaderSheetBuilder sheetBuilder readerBuilder.sheet(); sheetBuilder.doRead(); return list; } catch (IOException e) { throw new RuntimeException(导入 Excel 失败, e); } } // 其他可能需要的帮助方法... }4. 在 Controller 中使用 import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import java.util.Arrays; import java.util.List; RestController public class ExcelController { PostMapping(/exportExcel) public ResponseEntitybyte[] exportExcel() { ListUserData data Arrays.asList( new UserData(1, Alice, 25), new UserData(2, Bob, 30), new UserData(3, Charlie, 35)String fileName users.xlsx; byte[] excelBytes EasyExcelUtils.exportExcel(data, fileName, UserData.class); HttpHeaders headers new HttpHeaders(); headers.setContentDispositionFormData(attachment, fileName); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); return ResponseEntity.ok() .headers(headers) .body(excelBytes); } PostMapping(/importExcel) public ResponseEntity? importExcel(RequestParam(file) MultipartFile file) { ListUserData userDataList EasyExcelUtils.importExcel(file, UserData.class); // 假设你需要在这里处理导入的数据比如保存到数据库等 // ... return ResponseEntity.ok(Excel 导入成功共导入 userDataList.size() 条数据); }四、前端 vue 页面调用示例 script import axios from axios; export default { // ... 其他选项和数据 ... methods: { exportExcel() { // 假设你有一个要发送到服务器的对象如果需要的话 const params { // 例如: filter: someValue }; axios({ method: post, url: /api/exportExcel, // 修改为你的实际API地址 data: params, // 如果需要的话 responseType: blob, // 告诉axios我们期望返回一个blob }) .then((response) { // 创建一个Blob对象来表示二进制数据 const blob new Blob([response.data], { type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet }); // 创建一个指向该Blob对象的URL const url window.URL.createObjectURL(blob); // 创建一个a标签并模拟点击来下载文件 const link document.createElement(a); link.href url; link.setAttribute(download, users.xlsx); // 设置下载文件名 document.body.appendChild(link); link.click(); // 清理 window.URL.revokeObjectURL(url); document.body.removeChild(link); }) .catch((error) { console.error(导出Excel失败:, error); this.message 导出Excel失败; }); }, // ... 其他方法 ... }, }; /script
http://www.w-s-a.com/news/886748/

相关文章:

  • 关注城市建设网站居众装饰
  • 网站建设的语言优化企业网站
  • 成都旅游网站建设规划女性门户资讯类网站织梦dedecms模板
  • 二手车为什么做网站网站建设合作合同范文
  • 网站建设维护和网页设计做网站都需要服务器吗
  • 成都网站设计报告书系统平台
  • 怎样进行网站推广wordpress微博图床
  • 做一个平台 网站服务器搭建网架公司股价
  • 链家在线网站是哪个公司做的一个虚拟主机做2个网站
  • 网站开发实训报告模板学校网站建设计划
  • 免费手机网站制作方法什么事网站开发
  • 我们的爱情网站制作阿里云wordpress配置
  • 电脑网站页面怎么调大小唐山网站建设技术外包
  • 科威网络做网站怎么样wordpress分页样式
  • 泰安公司网站建设自助建站程序
  • 网站建设工程设计图建网站怎样往网站传视频
  • 做网站月入企业网站建设运营
  • 网站建设中的ftp地址公众号微官网
  • 手机wap网站开发与设计app开发公司电话
  • 网站页脚代码大沥网站开发
  • 重庆网站制作公司 广州天成网络技术有限公司
  • 佛山网站改版wordpress 是否有后门
  • 如何承接网站建设外包wordpress产品布局
  • 洛阳建站洛阳市网站建设视觉设计专业
  • 婚恋网站建设分析网站建设硬件需求
  • 北京做网站电话wordpress如何换图片
  • 电影网站做cpa深圳信息网
  • 单县网站建设优化大师电脑版官网
  • 番禺区住房和建设局物业网站浦东新区网站设计
  • 外贸网站外包WordPress仿牌