将算法从写入更改为读取 .txt 或 .xls 到 JTable
Changing the algorithm from writing to reading .txt or .xls to JTable
你能告诉我如何从 .txt 或 .xls 文件加载 JTable 吗?
我使用下面的算法将 JTable 内容保存为 .xls:
public void saveTable()throws Exception
{
BufferedWriter bfw = new BufferedWriter(new FileWriter("Data.xls"));
for(int i = 0 ; i < jTable1.getColumnCount() ; i++)
{
bfw.write(jTable1.getColumnName(i));
bfw.write("\t");
}
for (int i = 0 ; i < jTable1.getRowCount(); i++)
{
bfw.newLine();
for(int j = 0 ; j < jTable1.getColumnCount();j++)
{
bfw.write((String)(jTable1.getValueAt(i,j)));
bfw.write("\t");;
}
}
bfw.close();
- 将文件的第一行读入字符串变量。
- 使用
String.split(...)
方法将字符串拆分为包含列名的数组。
- 使用
new DefaultTableModel(columnName, 0)
构造函数创建一个 DefaultTableModel
。
- 将文件中的下一行读入字符串变量
- 使用
String.split(...)
方法将字符串拆分为包含每一列数据的数组
- 使用
DefaultTableModel
的 addRow(...)
方法将步骤 5 中的数组添加到 TableModel
- 重复步骤 4-6 直到所有记录都被读取。
你能告诉我如何从 .txt 或 .xls 文件加载 JTable 吗? 我使用下面的算法将 JTable 内容保存为 .xls:
public void saveTable()throws Exception
{
BufferedWriter bfw = new BufferedWriter(new FileWriter("Data.xls"));
for(int i = 0 ; i < jTable1.getColumnCount() ; i++)
{
bfw.write(jTable1.getColumnName(i));
bfw.write("\t");
}
for (int i = 0 ; i < jTable1.getRowCount(); i++)
{
bfw.newLine();
for(int j = 0 ; j < jTable1.getColumnCount();j++)
{
bfw.write((String)(jTable1.getValueAt(i,j)));
bfw.write("\t");;
}
}
bfw.close();
- 将文件的第一行读入字符串变量。
- 使用
String.split(...)
方法将字符串拆分为包含列名的数组。 - 使用
new DefaultTableModel(columnName, 0)
构造函数创建一个DefaultTableModel
。 - 将文件中的下一行读入字符串变量
- 使用
String.split(...)
方法将字符串拆分为包含每一列数据的数组 - 使用
DefaultTableModel
的addRow(...)
方法将步骤 5 中的数组添加到 TableModel - 重复步骤 4-6 直到所有记录都被读取。