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

如何搞好职业学校网站的建设和管理宣传片制作标准

如何搞好职业学校网站的建设和管理,宣传片制作标准,重庆市建设工程造价信息官网,photoshop+做网站logo以下是使用 EasyExcel 工具类实现异步导出功能的 Demo,包括用户发起导出请求后,系统先返回响应,后台读取数据并上传至 COS,最后通知用户下载的完整流程。 实现步骤 用户发起导出请求 前端调用导出接口,后端立即返回响应…

以下是使用 EasyExcel 工具类实现异步导出功能的 Demo,包括用户发起导出请求后,系统先返回响应,后台读取数据并上传至 COS,最后通知用户下载的完整流程。


实现步骤

  1. 用户发起导出请求

    • 前端调用导出接口,后端立即返回响应,表示导出任务已开始。
  2. 后台异步处理

    • 使用线程池异步执行数据读取、Excel 生成及上传至 COS 的操作。
  3. 上传至 COS

    • 使用腾讯云 COS SDK 将生成的 Excel 文件上传至 COS。
  4. 通知用户下载

    • 上传完成后,通过消息通知(如邮件、站内信)告知用户下载链接。

代码实现

1. 依赖引入

pom.xml 中添加以下依赖:

<!-- EasyExcel -->
<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.1</version>
</dependency><!-- 腾讯云 COS SDK -->
<dependency><groupId>com.qcloud</groupId><artifactId>cos_api</artifactId><version>5.6.54</version>
</dependency><!-- Spring Boot Web -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency><!-- Spring Boot Async -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-async</artifactId>
</dependency>

2. 实体类

定义 Excel 导出的数据模型:

@Data
public class ExportData {@ExcelProperty("ID")private String id;@ExcelProperty("名称")private String name;@ExcelProperty("时间")private String time;
}

3. 异步导出服务

实现异步导出逻辑:

@Service
public class ExportService {@Autowiredprivate COSClient cosClient;@Asyncpublic void exportDataAsync(String fileName, List<ExportData> dataList) {try {// 1. 生成 Excel 文件File file = new File(fileName);EasyExcel.write(file, ExportData.class).sheet("Sheet1").doWrite(dataList);// 2. 上传至 COSString bucketName = "your-bucket-name";String cosKey = "exports/" + fileName;PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, cosKey, file);cosClient.putObject(putObjectRequest);// 3. 通知用户下载String downloadUrl = "https://" + bucketName + ".cos.ap-guangzhou.myqcloud.com/" + cosKey;notifyUser(downloadUrl);// 4. 删除本地临时文件file.delete();} catch (Exception e) {e.printStackTrace();}}private void notifyUser(String downloadUrl) {// 实现通知逻辑,如发送邮件或站内信System.out.println("导出完成,下载链接:" + downloadUrl);}
}

4. 控制器

提供导出接口:

@RestController
@RequestMapping("/export")
public class ExportController {@Autowiredprivate ExportService exportService;@PostMapping("/start")public ResponseEntity<String> startExport() {// 模拟数据List<ExportData> dataList = new ArrayList<>();dataList.add(new ExportData("1", "测试1", "2023-10-01"));dataList.add(new ExportData("2", "测试2", "2023-10-02"));// 异步导出String fileName = "export_data_" + System.currentTimeMillis() + ".xlsx";exportService.exportDataAsync(fileName, dataList);// 立即返回响应return ResponseEntity.ok("导出任务已开始,请稍后查看下载链接。");}
}

5. 配置异步支持

在 Spring Boot 启动类上添加 @EnableAsync 注解:

@SpringBootApplication
@EnableAsync
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

6. 腾讯云 COS 配置

application.properties 中配置 COS 信息:

cos.secretId=your-secret-id
cos.secretKey=your-secret-key
cos.region=ap-guangzhou
cos.bucketName=your-bucket-name

初始化 COSClient

@Configuration
public class COSConfig {@Value("${cos.secretId}")private String secretId;@Value("${cos.secretKey}")private String secretKey;@Value("${cos.region}")private String region;@Beanpublic COSClient cosClient() {COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);ClientConfig clientConfig = new ClientConfig(new Region(region));return new COSClient(cred, clientConfig);}
}

测试流程

  1. 启动 Spring Boot 应用。
  2. 调用导出接口:POST /export/start
  3. 查看控制台日志,获取下载链接。
  4. 下载生成的 Excel 文件。

总结

通过以上代码,实现了以下功能:

  1. 用户发起导出请求后,系统立即返回响应。
  2. 后台异步读取数据并生成 Excel 文件。
  3. 将 Excel 文件上传至腾讯云 COS。
  4. 通知用户下载链接。

希望这个 Demo 对你有帮助!如果有其他问题,欢迎随时提问。 😊

http://www.dtcms.com/a/408402.html

相关文章:

  • 响应式网站推广wordpress 图片加载慢
  • 昭通商城网站建设最美logo图案大全
  • 比较优秀的国外wordpress网站phpcms对比wordpress
  • 网站建设手机登录密码是什么啊电脑做网站服务器教程
  • 兰州大学网页与网站设计企业培训考试系统
  • 大型摔倒检测识别数据集:3类,近7w图像,yolo标注
  • 老题新解|素数回文数的个数
  • 东莞市网站seowordpress音乐站源码
  • 模板网站制作多少钱推广普通话宣传周
  • MySQL-多版本并发控制
  • 防火墙(1)了解防火墙
  • 做后期哪个网站素材好网站作品怎么做链接
  • 制冷机电工程东莞网站建设网站建设服务市场细分
  • 美食网站开发现状设计页面ui
  • 做PPT哪个网站的素材多点晋江网站建设企业
  • 邯郸网站建设网页设计网络推广宁波城乡住房建设局网站
  • 广州天河建站公司鲜花网站开发背景
  • LeetCode 102. 二叉树的层序遍历
  • 网站建设风景课程设计报告网店设计风格怎么写
  • 做网站被网警找六感程序网站建设
  • 网站建设制作官网哈尔滨cms模板建站
  • 数据分析师资源合集
  • 静态网站怎么建设广告网站建设制作设计服务商
  • 网站建设及政务公开工作总结中文旅游网站模板下载
  • docker-镜像
  • 常用外贸网站网站死链检测
  • 沈阳餐饮网站建设建设厅和住建厅有什么区别
  • 网站 app 哪个先做六安百度公司六安百度推广
  • 做外贸阿里巴巴有哪些网站大兴企业官方网站建设
  • 济南商务网站建设站长之家是什么