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

项目宣传网站模板开封网站建设费用

项目宣传网站模板,开封网站建设费用,网页设计代码td,开发一套小区多少钱1. 项目依赖 首先#xff0c;我们需要引入相关的依赖#xff0c;包括 Spring Boot 和阿里巴巴的 EasyExcel 组件#xff0c;此外还需要使用 Java 的 Zip 工具进行压缩操作。 dependencies!-- Spring Web --dependencygroupIdorg.springfr…1. 项目依赖 首先我们需要引入相关的依赖包括 Spring Boot 和阿里巴巴的 EasyExcel 组件此外还需要使用 Java 的 Zip 工具进行压缩操作。 dependencies!-- Spring Web --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- EasyExcel --dependencygroupIdcom.alibaba/groupIdartifactIdeasyexcel/artifactIdversion3.0.5/version/dependency!-- Commons IO用于压缩文件操作 --dependencygroupIdcommons-io/groupIdartifactIdcommons-io/artifactIdversion2.11.0/version/dependency /dependencies2. 创建数据导出逻辑 接下来我们定义数据导出逻辑。在这个例子中假设我们有一个订单表我们将导出每个用户的订单信息到不同的 Excel 文件中。 2.1 定义数据模型 public class Order {private Long id;private String productName;private Integer quantity;private BigDecimal price;// Getters and Setters } 2.2 使用 EasyExcel 导出 Excel 文件 EasyExcel 的 API 使用非常简单下面是一个基本的写 Excel 文件的例子。我们使用 ExcelWriterBuilder 来创建 Excel并写入数据。 import com.alibaba.excel.EasyExcel; import java.io.File; import java.util.List;public class ExcelExportUtil {public static void writeOrdersToExcel(ListOrder orders, String filePath) {EasyExcel.write(filePath, Order.class).sheet(订单数据).doWrite(orders);} } 2.3 并行导出多个 Excel 文件 为了提高效率我们可以使用 Java 的 CompletableFuture 实现并行导出。 import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;public class ExportService {private final ExecutorService executor Executors.newFixedThreadPool(10); // 自定义线程池public void exportOrdersInParallel(ListListOrder ordersList, String outputDir) {CompletableFuture[] futures ordersList.stream().map(orders - CompletableFuture.runAsync(() - {String fileName 订单_ Thread.currentThread().getId() .xlsx;ExcelExportUtil.writeOrdersToExcel(orders, outputDir fileName);}, executor)).toArray(CompletableFuture[]::new);// 等待所有任务完成CompletableFuture.allOf(futures).join();} } ordersList 是一个包含多个用户订单的列表每个列表中的订单将导出到一个 Excel 文件。通过使用并行处理可以同时生成多个文件。 3. 压缩文件为 zip 完成 Excel 文件的导出后我们需要将这些文件压缩成一个 zip 文件。 3.1 使用 ZipOutputStream 进行压缩 import java.io.*; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream;public class ZipUtil {public static void zipFiles(String sourceDir, String zipFile) throws IOException {FileOutputStream fos new FileOutputStream(zipFile);ZipOutputStream zipOut new ZipOutputStream(fos);File fileToZip new File(sourceDir);for (File file : fileToZip.listFiles()) {FileInputStream fis new FileInputStream(file);ZipEntry zipEntry new ZipEntry(file.getName());zipOut.putNextEntry(zipEntry);byte[] bytes new byte[1024];int length;while ((length fis.read(bytes)) 0) {zipOut.write(bytes, 0, length);}fis.close();}zipOut.close();fos.close();} } 在这个方法中我们遍历指定文件夹中的所有文件并将它们写入到 zip 文件中。 4. 实现下载功能 在 Spring Boot 中可以通过 HTTP 响应的形式将生成的 zip 文件提供给前端下载。 import org.springframework.core.io.InputStreamResource; 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.RestController;import java.io.*;RestController public class FileDownloadController {GetMapping(/downloadZip)public ResponseEntityInputStreamResource downloadZip() throws IOException {String zipFilePath /tmp/orders.zip;ZipUtil.zipFiles(/tmp/excel_files, zipFilePath);File file new File(zipFilePath);InputStreamResource resource new InputStreamResource(new FileInputStream(file));return ResponseEntity.ok().header(HttpHeaders.CONTENT_DISPOSITION, attachment;filename file.getName()).contentType(MediaType.APPLICATION_OCTET_STREAM).contentLength(file.length()).body(resource);} } 通过这个接口前端用户可以通过点击下载链接直接获取到压缩好的 Excel 文件包。 5. 完整的业务流程 数据分批处理假设我们要导出上百万条订单数据首先需要根据用户或其他条件将数据进行分片每片数据导出到不同的 Excel 文件。 并行处理使用 CompletableFuture 并行处理各个数据片段确保多个 Excel 文件同时生成以加快处理速度。 文件压缩所有 Excel 文件生成后通过 ZipOutputStream 将其压缩为一个 zip 文件。 提供下载用户通过前端的下载链接能够方便地获取压缩包。 6. 总结 本文详细介绍了如何使用 Spring Boot 和 EasyExcel 实现大规模数据的高效导出并通过并行处理与 zip 压缩优化用户体验。这种方案特别适合需要处理大量数据导出的企业系统在提升效率的同时保证了系统的稳定性和可扩展性。
http://www.hkea.cn/news/14458212/

相关文章:

  • 提升网站知名度珠海建设工程备案网站
  • 校园门户网站设计论文什么是做学院网站
  • 常州网站推广优化企业网站备案资料填写单
  • 国家工程建设信息网站国内做设计的网站有哪些方面
  • 网站后台上传缩略图华为网络服务商
  • 申请网站网站婚纱网站源代码
  • 北京海淀中关村找工作网站三端网站如何做
  • 二手网站怎么做wordpress 种子插件
  • WordPress网站加载时间建设h网站风险大吗
  • 纪念馆网站建设方案灰色行业关键词优化
  • 大众的网站建设iis如何建立网站
  • 清廉医院建设网站网站建设丨下拉找金手指信誉
  • 网站管理工作是具体应该怎么做平面设计培训班哪里有
  • 企业网站开发服务建网站注意什么
  • 怎么制作网站页面网站设计是后台做的还是前台做的
  • 专业的网站开发公司建一个网站需要多少费用
  • 建设部网站公告小孩做阅读的网站有哪些
  • 建网站怎么建软件下载页面制作
  • 自己给自己网站做seoseo石家庄
  • 建网站跟建网店的区别企业标识系统
  • 霍山有没有做建网站的建设专业网站哪家更专业
  • 网站怎么加二级域名wordpress 优化变快
  • 网站开发的有关公司四川建设网上班时间
  • 番禺网站开发服务开发商交房需要提供哪些证书
  • 佛山新网站建设咨询谁能分享个小网站啊
  • 客户端建站域名备案与网站备案的区别
  • 建网站莱阳哪家强?wordpress 两个搜索框
  • 定制网站制作公司怎么样360网站做二维码
  • 使用jsp开发的网站旅游网站模板下载
  • 设计师网站有哪些销售定制家具自己可以做电子商务网站