java 从网页端批量导出数据到execl,并保存在本机电脑桌面
时间: 2024-03-12 15:45:14 浏览: 20
好的,以下是使用Java编写的示例代码,使用Apache POI库将网页中的数据批量导出到Excel,并将Excel文件保存到本机电脑桌面:
```java
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class ExcelExporter {
public static void main(String[] args) throws IOException {
// 请求网页
String url = "https://example.com";
Document doc = Jsoup.connect(url).get();
// 查找表格
Element table = doc.select("table.table-name").first();
// 提取表格数据并存储到list集合中
ArrayList<ArrayList<String>> tableData = new ArrayList<>();
Elements rows = table.select("tr");
for (Element row : rows) {
ArrayList<String> rowData = new ArrayList<>();
Elements cells = row.select("td");
for (Element cell : cells) {
rowData.add(cell.text());
}
if (!rowData.isEmpty()) {
tableData.add(rowData);
}
}
// 创建Excel工作簿并填充数据
XSSFWorkbook workbook = new XSSFWorkbook();
String sheetName = "Sheet1";
workbook.createSheet(sheetName);
int rowNum = 0;
for (ArrayList<String> rowData : tableData) {
Row row = workbook.getSheet(sheetName).createRow(rowNum++);
int cellNum = 0;
for (String cellData : rowData) {
Cell cell = row.createCell(cellNum++);
cell.setCellValue(cellData);
}
}
// 保存Excel文件到本机电脑桌面
String filePath = System.getProperty("user.home") + "/Desktop/data.xlsx";
FileOutputStream outputStream = new FileOutputStream(filePath);
workbook.write(outputStream);
outputStream.close();
System.out.println("Excel文件已生成并保存到桌面!");
}
}
```
在这个示例代码中,我们首先使用Jsoup库连接到指定的网址,并获取网页内容。接着,我们使用select方法查找指定类名的表格元素,并使用select方法遍历表格的每一行和每一列,提取单元格中的文本内容并存储到list集合中。然后,我们创建一个Excel工作簿,并填充表格数据。最后,我们使用FileOutputStream将Excel文件保存到本机电脑桌面,并输出一条消息到控制台。注意,文件路径需要根据您的实际情况进行修改。