如何通过主函数从路径中去读取excle文件中的数据
时间: 2024-03-23 17:41:32 浏览: 14
可以使用Python中的`openpyxl`库来读取Excel文件。以下是一个示例代码,可以读取Excel文件中的所有数据。
```python
import openpyxl
# 打开 Excel 文件
workbook = openpyxl.load_workbook('path/to/excel_file.xlsx')
# 获取第一个工作表
worksheet = workbook.active
# 遍历所有行和列,输出单元格内容
for row in worksheet.iter_rows(values_only=True):
for cell in row:
print(cell)
```
这段代码将打开名为`excel_file.xlsx`的文件,并输出所有单元格的内容。你可以根据需要修改代码,以便在程序中处理或使用这些数据。
相关问题
java读取excle文件中的数据并生成对象
要读取Excel文件中的数据并生成对象,你可以使用Apache POI库来实现。下面是一个简单的示例代码,可以读取Excel文件中的数据并将其转换为Java对象:
```java
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelToObjectConverter {
public static void main(String[] args) {
try {
FileInputStream file = new FileInputStream("path/to/excel/file.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(file);
Sheet sheet = workbook.getSheetAt(0);
Iterator<Row> iterator = sheet.iterator();
List<MyObject> objects = new ArrayList<MyObject>();
while (iterator.hasNext()) {
Row currentRow = iterator.next();
Iterator<Cell> cellIterator = currentRow.iterator();
MyObject object = new MyObject();
while (cellIterator.hasNext()) {
Cell currentCell = cellIterator.next();
int columnIndex = currentCell.getColumnIndex();
switch (columnIndex) {
case 0:
object.setProperty1(currentCell.getStringCellValue());
break;
case 1:
object.setProperty2(currentCell.getNumericCellValue());
break;
case 2:
object.setProperty3(currentCell.getDateCellValue());
break;
}
}
objects.add(object);
}
file.close();
// Do something with the objects...
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们首先打开Excel文件并读取第一个工作表。然后,我们遍历工作表中的每一行,并将其转换为一个Java对象。对于每一行,我们遍历其中的每一个单元格,并将单元格的值设置到Java对象的属性中。最后,我们将生成的Java对象添加到一个列表中,以便后续使用。
springboot 整合easyexcel3.2.1 中 读取上传excle文件返回list数据
好的,下面是整合Spring Boot和EasyExcel实现读取上传Excel文件并返回List数据的步骤:
1.添加EasyExcel和POI依赖
在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
```
2.创建ExcelUtil工具类
```java
@Component
public class ExcelUtil {
/**
* 读取Excel文件
*
* @param inputStream Excel文件输入流
* @param clazz 数据类型
* @param sheetNo sheet编号(从0开始)
* @param headLineNum 表头行数
* @return List<T> 返回数据列表
*/
public <T> List<T> readExcel(InputStream inputStream, Class<T> clazz, int sheetNo, int headLineNum) {
List<T> dataList = new ArrayList<>();
try {
EasyExcel.read(inputStream, clazz, new ExcelReadListener<T>(dataList), new ExcelReadSheetParam(sheetNo, headLineNum)).sheet().doRead();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return dataList;
}
/**
* Excel读取监听器
*/
private static class ExcelReadListener<T> extends AnalysisEventListener<T> {
private List<T> dataList;
public ExcelReadListener(List<T> dataList) {
this.dataList = dataList;
}
@Override
public void invoke(T data, AnalysisContext context) {
dataList.add(data);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// 解析结束销毁不用的资源
}
}
/**
* Excel读取参数
*/
private static class ExcelReadSheetParam implements ReadSheet {
private int sheetNo;
private int headLineNum;
public ExcelReadSheetParam(int sheetNo, int headLineNum) {
this.sheetNo = sheetNo;
this.headLineNum = headLineNum;
}
@Override
public int getSheetNo() {
return sheetNo;
}
@Override
public int getHeadLineMun() {
return headLineNum;
}
}
}
```
3.创建Controller
```java
@RestController
public class ExcelController {
@Autowired
private ExcelUtil excelUtil;
@PostMapping("/upload")
public List<User> upload(@RequestParam("file") MultipartFile file) {
List<User> userList = new ArrayList<>();
try {
InputStream inputStream = file.getInputStream();
userList = excelUtil.readExcel(inputStream, User.class, 0, 1);
} catch (IOException e) {
e.printStackTrace();
}
return userList;
}
}
```
这里使用了一个User类作为数据类型,你可以根据实际情况替换成自己的数据类型。
4.编写上传Excel文件的页面
最后,在前端页面中添加一个上传Excel文件的表单,在表单中选择一个Excel文件并提交表单。
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Upload Excel</title>
</head>
<body>
<form method="POST" enctype="multipart/form-data" action="/upload">
<input type="file" name="file"/>
<button type="submit">Submit</button>
</form>
</body>
</html>
```
以上就是整合Spring Boot和EasyExcel实现读取上传Excel文件并返回List数据的全部步骤,希望能对你有所帮助。