Java如何查询excel表格中的数据并输入到指定的表格中
有两种方式可以实现Java查询Excel表格中的数据并输入到指定的表格中:
这是使用Apache POI库读取Excel的基本代码示例:
FileInputStream file = new FileInputStream(new File("文件路径"));
// 使用文件流创建工作簿对象
Workbook workbook = new XSSFWorkbook(file);
// 获取第一个工作表
Sheet sheet = workbook.getSheetAt(0);
// 遍历行
for (Row row : sheet) {
// 遍历单元格
for (Cell cell : row) {
// 读取单元格的值并进行处理
// 单元格的值可以是字符串、数字或日期等类型
}
}
// 关闭工作簿和文件流
workbook.close();
file.close();
这是使用Apache POI库写入Excel的基本代码示例:
// 创建一个工作簿对象
Workbook workbook = new XSSFWorkbook();
// 创建一个工作表对象
Sheet sheet = workbook.createSheet("Sheet1");
// 创建一行,并在其中创建单元格并赋值
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("Hello World");
// 创建文件输出流
FileOutputStream file = new FileOutputStream(new File("文件路径"));
// 将工作簿中的数据写入文件流
workbook.write(file);
// 关闭工作簿和文件流
workbook.close();
file.close();
您可以将这些基本代码示例结合实际情况进行修改和组合,实现Java查询Excel表格中的数据并输入到指定的表格中。
这是使用JDBC-ODBC桥连接Excel的基本代码示例:
// 加载ODBC桥的驱动类
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// 指定ODBC数据源的名称和Excel驱动程序
String url = "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=文件路径";
// 使用用户名和密码创建连接
Connection connection = DriverManager.getConnection(url, "用户名", "密码");
// 创建一个SQL语句,查询Excel表格中的数据
String sql = "SELECT * FROM [Sheet1$]";
// 执行SQL语句,将查询结果存储在ResultSet对象中
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
// 遍历查询结果
while (resultSet.next()) {
// 读取每条记录中的数据,并进行处理
// 可以使用ResultSet对象的getXXX()方法读取不同类型的数据
}
// 创建一个SQL语句,将数据插入到另一个Excel文件中
String insertSql = "INSERT INTO [Sheet1$] VALUES (1, 'Hello World', 3.14)";
// 执行SQL语句,将记录插入到Excel文件中
statement.executeUpdate(insertSql);
// 关闭连接和Statement对象
resultSet.close();
statement.close();
connection.close();
您可以将这些基本代码示例结合实际情况进行修改和组合,实现Java查询Excel表格中的数据并输入到指定的表格中。
希望楼主采纳,谢谢楼主
给你个示例:可以使用Apache POI库读取名为“input.xlsx”的Excel文件中的数据,并将其存储在字符串变量“data”中。接着,我们获取名为“Output”的工作表,并将数据写入其第一行第一列的单元格中。最后,我们将更改后的Excel文件保存到名为“output.xlsx”的文件中。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
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 ExcelExample {
public static void main(String[] args) throws IOException {
// 读取Excel文件
FileInputStream inputStream = new FileInputStream(new File("input.xlsx"));
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
// 获取需要读取的工作表
Sheet sheet = workbook.getSheetAt(0);
// 读取数据
Row row = sheet.getRow(0);
Cell cell = row.getCell(0);
String data = cell.getStringCellValue();
// 获取需要写入的工作表
Sheet outputSheet = workbook.getSheet("Output");
// 写入数据
Row outputRow = outputSheet.createRow(0);
Cell outputCell = outputRow.createCell(0);
outputCell.setCellValue(data);
// 保存Excel文件
FileOutputStream outputStream = new FileOutputStream("output.xlsx");
workbook.write(outputStream);
workbook.close();
inputStream.close();
outputStream.close();
}
}