扫描问题

我正在学习生物医学信息学,现在我正在做我的临床实践,在那里我必须检查对独立收费的用品(每个程序和用品都有编码)供应给住院病人的费用是否正确执行。

我可以在我正在做的软件上导入Excel文件,但是现在我不知道如何执行扫描。 这里是代码(我在NetBeans上做的)

public class Portal extends javax.swing.JFrame { private DefaultTableModel model; public static int con = 0; public ArrayList listas = new ArrayList(); public ArrayList listasr = new ArrayList(); public Portal() { initComponents(); model = new DefaultTableModel(); jTable1.setModel(model); } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { JFileChooser examinar = new JFileChooser(); examinar.setFileFilter(new FileNameExtensionFilter("Archivos Excel", "xls", "xlsx")); int opcion = examinar.showOpenDialog(this); File archivoExcel = null; if(opcion == JFileChooser.APPROVE_OPTION){ archivoExcel = examinar.getSelectedFile().getAbsoluteFile(); try{ Workbook leerExcel = Workbook.getWorkbook(archivoExcel); for (int hoja=0; hoja<leerExcel.getNumberOfSheets(); hoja++) { Sheet hojaP = leerExcel.getSheet(hoja); int columnas = hojaP.getColumns(); int filas = hojaP.getRows(); Object data[]= new Object[columnas]; for (int fila=0; fila < filas; fila++) { for(int columna=0; columna < columnas; columna++) { if(fila==0) { model.addColumn(hojaP.getCell(columna, fila).getContents()); } System.out.println(hojaP.getCell(columna, fila).getContents()); if(fila>=1) data[columna] = hojaP.getCell(columna, fila).getContents(); }model.addRow(data); } } model.removeRow(0); JOptionPane.showMessageDialog(null, "Excel cargado exitosamente"); } } } 

在导入excel文件之前,将其保存为csv(逗号分隔)文件(记住删除标题)。 然后打开我的文档下的netbeans项目文件夹,然后打开你的项目文件夹,并在他们的转储csv文件。 看看你的项目在NetBeans文件下打开文件夹,你会看到他们的文件。 现在你说你想读取文件/扫描文件。

您可以先使用我的方法,了解它并适应将来的其他场景。

首先创build一个类或者使用一个容易创build的(你已经创build的java类)。

声明数组取决于您在Excel文件中有多less行,而不是csv文件和一个计数器。 例二。

  String [] patientsnamess; int [] ages; int count; 

现在在一个默认的构造函数中启动这个数组(你不必这样做,因为当你声明它们的时候你可以做到这一点,但这是常规的)。 你可以了解有两个我知道的构造函数或只有两个,但我只会显示一个默认的构造函数。

它会看起来像这样

  public yourClassName(){ patientsnames = new String[400];//the number in square brackets are an example it sets the size of the array. You can set the size according to how many patients there are or you could just use lists as the limit on the list as dependent on primary and virtual memory. ages = new int[400]; count = 0; } 

现在创build两个读取文本文件的方法。

  public void readFile(){ count = 0;//important Scanner contents = null; try{ contents = new Scanner(new FileReader("You file's name.txt"); while(contents.hasNext()){ String a = contents.nextLine(); String p[]= a.split("\\;"); patientsnames[count] = p[0]; ages[count] = p[1]; count++;//important } } catch(FileNotFoundException e){ System.out.println(e.getMessage()); } } 

现在创buildget方法,用文件中的值调用数组(查找其余的stackoverflow)。 记住字段types与文件中的数据链接。

我真的希望这对你有用。 如果不是,我很抱歉,祝你生化信息学课程好运。 记住在这种情况下用一个对象调用readFile方法,否则它将不起作用。 研究必要的import如:

 import java.io.*; import java.util.*;