java将excel转为json
时间: 2023-08-27 15:03:47 浏览: 181
可以使用Apache POI库来读取Excel文件,然后将数据转换为JSON格式。以下是一个示例代码:
```java
import org.apache.poi.ss.usermodel.*;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
public class ExcelToJsonConverter {
public static void main(String[] args) {
try {
// 读取Excel文件
FileInputStream file = new FileInputStream(new File("example.xlsx"));
Workbook workbook = WorkbookFactory.create(file);
Sheet sheet = workbook.getSheetAt(0);
// 创建JSON对象
JSONObject jsonObject = new JSONObject();
JSONArray jsonArray = new JSONArray();
// 读取每一行数据
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
Row row = sheet.getRow(i);
JSONObject obj = new JSONObject();
// 读取每一列数据
for (int j = 0; j < row.getLastCellNum(); j++) {
Cell cell = row.getCell(j);
String columnName = sheet.getRow(0).getCell(j).getStringCellValue();
obj.put(columnName, cell);
}
jsonArray.add(obj);
}
jsonObject.put("data", jsonArray);
// 将JSON对象写入文件
FileWriter fileWriter = new FileWriter("output.json");
fileWriter.write(jsonObject.toJSONString());
fileWriter.flush();
fileWriter.close();
System.out.println("转换完成");
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
其中,`example.xlsx`是要读取的Excel文件名,`output.json`是要输出的JSON文件名。这段代码会将Excel文件的第一行作为JSON对象的属性名,每一行数据作为JSON对象的属性值,然后输出到JSON文件中。
阅读全文