我需要spring boot导出excel表格的代码
时间: 2023-09-18 14:06:27 浏览: 143
### 回答1:
你可以使用Apache POI库来实现Spring Boot导出Excel表格的功能。以下是一个简单的示例代码:
```java
@GetMapping("/export")
public void exportToExcel(HttpServletResponse response) throws IOException {
// 创建一个工作簿
Workbook workbook = new XSSFWorkbook();
// 创建一个工作表
Sheet sheet = workbook.createSheet("Sheet1");
// 创建表头
Row headerRow = sheet.createRow();
headerRow.createCell().setCellValue("姓名");
headerRow.createCell(1).setCellValue("年龄");
headerRow.createCell(2).setCellValue("性别");
// 填充数据
Row dataRow = sheet.createRow(1);
dataRow.createCell().setCellValue("张三");
dataRow.createCell(1).setCellValue(20);
dataRow.createCell(2).setCellValue("男");
// 设置响应头
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=example.xlsx");
// 输出数据
OutputStream outputStream = response.getOutputStream();
workbook.write(outputStream);
outputStream.flush();
outputStream.close();
}
```
这个示例代码会创建一个Excel表格,并将其作为附件下载到客户端。你可以根据自己的需求修改代码。
### 回答2:
你好!以下是一个使用Spring Boot导出Excel表格的代码示例:
1. 首先,确保你的项目中已经加入了Spring Boot和Apache POI的依赖。你可以在pom.xml文件中添加如下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.1</version>
</dependency>
```
2. 创建一个控制器类,在该类中添加一个导出Excel表格的方法:
```java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@RestController
public class ExcelController {
@GetMapping("/export")
public void exportExcel(HttpServletResponse response) throws IOException {
// 创建一个工作簿
Workbook workbook = new XSSFWorkbook();
// 创建一个工作表
Sheet sheet = workbook.createSheet("Sheet1");
// 创建行和单元格,并填充数据
Row headerRow = sheet.createRow(0);
headerRow.createCell(0).setCellValue("姓名");
headerRow.createCell(1).setCellValue("年龄");
Row dataRow = sheet.createRow(1);
dataRow.createCell(0).setCellValue("张三");
dataRow.createCell(1).setCellValue(20);
// 设置响应头
response.setHeader("Content-Disposition", "attachment; filename=example.xlsx");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
// 将工作簿写入响应体
workbook.write(response.getOutputStream());
workbook.close();
}
}
```
3. 在启动类中添加`@EnableWebMvc`注解,以开启Spring Boot的Web MVC功能:
```java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@SpringBootApplication
@EnableWebMvc
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
```
以上代码会创建一个名为"example.xlsx"的Excel表格,并将其作为附件下载。
希望对你有所帮助!如果有任何疑问,请随时提问。
### 回答3:
下面是一个简单的Spring Boot代码示例,用于导出Excel表格:
1. 首先,您需要在pom.xml文件中添加以下依赖项以使用Apache POI库来处理Excel文件:
```xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.0.0</version>
</dependency>
```
2. 创建一个Controller类,并在其中添加一个处理导出Excel请求的方法。以下是一个简单的示例:
```java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@RestController
public class ExcelController {
@GetMapping("/export")
public void exportExcel(HttpServletResponse response) throws IOException {
// 创建一个新的Excel工作簿
Workbook workbook = new XSSFWorkbook();
// 创建一个sheet页
Sheet sheet = workbook.createSheet("Sheet1");
// 创建表头
Row headerRow = sheet.createRow(0);
Cell headerCell = headerRow.createCell(0);
headerCell.setCellValue("姓名");
// 创建数据行
Row dataRow = sheet.createRow(1);
Cell dataCell = dataRow.createCell(0);
dataCell.setCellValue("张三");
// 设置响应头
response.setHeader("Content-Disposition", "attachment; filename=export.xlsx");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
// 写入响应流
workbook.write(response.getOutputStream());
// 关闭工作簿
workbook.close();
}
}
```
3. 当您访问`/export`路径时,该方法将在响应中导出一个名为`export.xlsx`的Excel表格文件。
请注意,这只是一个简单的示例,可能需要根据您的需求进行修改和扩展。您可能还需要添加更多的表头和数据行,并使用不同的样式和格式来格式化表格。
阅读全文