java如何将用jxl读取的excel表格的指定单元格数据循环放进jtabel表格中
该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
可以使用 jxl 库和 Swing 的 JTable 组件来将用 jxl 读取的单元格数据放进 JTable 表格中。下面是一个示例代码:
import java.io.File;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
public class ExcelToTable extends JFrame {
private JPanel panel;
private JTable table;
public ExcelToTable() {
panel = new JPanel();
panel.setLayout(null);
String filePath = "your_file_path.xls";
File file = new File(filePath);
try {
Workbook workbook = Workbook.getWorkbook(file);
Sheet sheet = workbook.getSheet(0);
int rows = sheet.getRows();
int cols = sheet.getColumns();
String[] columnNames = new String[cols];
Object[][] rowData = new Object[rows - 1][cols];
for (int i = 0; i < cols; i++) {
Cell cell = sheet.getCell(i, 0);
columnNames[i] = cell.getContents();
}
for (int i = 1; i < rows; i++) {
for (int j = 0; j < cols; j++) {
Cell cell = sheet.getCell(j, i);
rowData[i - 1][j] = cell.getContents();
}
}
table = new JTable(rowData, columnNames);
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setBounds(10, 10, 570, 300);
panel.add(scrollPane);
add(panel);
setSize(600, 400);
setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new ExcelToTable();
}
}
在上面的代码中,首先通过 jxl 库读取指定的 Excel 文件,然后将表格数据存储在一个二维数组 rowData
中,同时将表头存储在一个一维数组 columnNames
中。接着,将 rowData
和 columnNames
作为参数传递给 JTable 组件,创建一个 JScrollPane 对象,将 JTable 放入 JScrollPane 中,最后将 JScrollPane 添加到 JFrame 窗口中。运行程序后,将会显示一个包含 Excel 表格数据的 JTable 组件。
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
// 创建一个JTable对象
JTable table = new JTable();
// 读取Excel文件
Workbook workbook = Workbook.getWorkbook(new File("test.xls"));
// 获取第一个Sheet
Sheet sheet = workbook.getSheet(0);
// 获取行数和列数
int rows = sheet.getRows();
int cols = sheet.getColumns();
// 创建一个二维数组用于存放Excel数据
String[][] data = new String[rows][cols];
// 循环获取Excel数据并保存到数组中
for (int row = 0; row < rows; row++) {
for (int col = 0; col < cols; col++) {
Cell cell = sheet.getCell(col, row); // 获取单元格
data[row][col] = cell.getContents(); // 获取单元格数据并存入数组
}
}
// 将数据设置到JTable中
TableModel model = new DefaultTableModel(data, new String[]{"列1", "列2", "列3"});
table.setModel(model);